lemonade-sdk 8.0.3__py3-none-any.whl → 8.0.5__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.

Potentially problematic release.


This version of lemonade-sdk might be problematic. Click here for more details.

@@ -89,8 +89,11 @@ body {
89
89
  margin-bottom: 2em;
90
90
  border-radius: 8px;
91
91
  border: 1px solid #e0e0e0;
92
- max-width: 900px;
93
- width: 100%;
92
+ max-width: 1000px;
93
+ min-width: 320px;
94
+ width: calc(100% - 2rem); /* Responsive width with margin */
95
+ margin-left: 1rem;
96
+ margin-right: 1rem;
94
97
  }
95
98
 
96
99
  .tabs {
@@ -130,8 +133,11 @@ body {
130
133
  .chat-container {
131
134
  display: flex;
132
135
  flex-direction: column;
133
- height: 400px;
134
- max-width: 600px;
136
+ height: calc(100vh - 650px); /* Subtract space for navbar, title, wall of logos, etc */
137
+ min-height: 300px;
138
+ max-height: 1200px;
139
+ max-width: 800px;
140
+ width: 100%;
135
141
  margin: 0 auto;
136
142
  border: 1px solid #e0e0e0;
137
143
  border-radius: 8px;
@@ -188,6 +194,155 @@ body {
188
194
  align-self: flex-start;
189
195
  }
190
196
 
197
+ /* Markdown styling within chat bubbles */
198
+ .chat-bubble h1,
199
+ .chat-bubble h2,
200
+ .chat-bubble h3,
201
+ .chat-bubble h4,
202
+ .chat-bubble h5,
203
+ .chat-bubble h6 {
204
+ margin: 0.5em 0 0.3em 0;
205
+ color: inherit;
206
+ font-weight: bold;
207
+ }
208
+
209
+ .chat-bubble h1 { font-size: 1.4em; }
210
+ .chat-bubble h2 { font-size: 1.3em; }
211
+ .chat-bubble h3 { font-size: 1.2em; }
212
+ .chat-bubble h4 { font-size: 1.1em; }
213
+ .chat-bubble h5 { font-size: 1.05em; }
214
+ .chat-bubble h6 { font-size: 1em; }
215
+
216
+ .chat-bubble p {
217
+ margin: 0.5em 0;
218
+ line-height: 1.4;
219
+ }
220
+
221
+ .chat-bubble p:first-child {
222
+ margin-top: 0;
223
+ }
224
+
225
+ .chat-bubble p:last-child {
226
+ margin-bottom: 0;
227
+ }
228
+
229
+ .chat-bubble ul,
230
+ .chat-bubble ol {
231
+ margin: 0.5em 0;
232
+ padding-left: 1.5em;
233
+ }
234
+
235
+ .chat-bubble li {
236
+ margin: 0.2em 0;
237
+ }
238
+
239
+ .chat-bubble blockquote {
240
+ margin: 0.5em 0;
241
+ padding: 0.5em 1em;
242
+ border-left: 3px solid #ccc;
243
+ background: rgba(0,0,0,0.05);
244
+ border-radius: 4px;
245
+ font-style: italic;
246
+ }
247
+
248
+ .chat-bubble code {
249
+ background: rgba(0,0,0,0.1);
250
+ padding: 0.2em 0.4em;
251
+ border-radius: 3px;
252
+ font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
253
+ font-size: 0.9em;
254
+ }
255
+
256
+ .chat-bubble pre {
257
+ background: rgba(0,0,0,0.05);
258
+ border: 1px solid rgba(0,0,0,0.1);
259
+ border-radius: 6px;
260
+ padding: 1em;
261
+ margin: 0.5em 0;
262
+ overflow-x: auto;
263
+ font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
264
+ font-size: 0.9em;
265
+ line-height: 1.4;
266
+ }
267
+
268
+ .chat-bubble pre code {
269
+ background: none !important;
270
+ padding: 0 !important;
271
+ border-radius: 0 !important;
272
+ border: none !important;
273
+ font-size: inherit;
274
+ }
275
+
276
+ .chat-bubble table {
277
+ border-collapse: collapse;
278
+ margin: 0.5em 0;
279
+ font-size: 0.9em;
280
+ }
281
+
282
+ .chat-bubble th,
283
+ .chat-bubble td {
284
+ border: 1px solid #ddd;
285
+ padding: 0.3em 0.6em;
286
+ text-align: left;
287
+ }
288
+
289
+ .chat-bubble th {
290
+ background: rgba(0,0,0,0.05);
291
+ font-weight: bold;
292
+ }
293
+
294
+ .chat-bubble a {
295
+ color: #007acc;
296
+ text-decoration: none;
297
+ }
298
+
299
+ .chat-bubble a:hover {
300
+ text-decoration: underline;
301
+ }
302
+
303
+ .chat-bubble hr {
304
+ border: none;
305
+ border-top: 1px solid #ddd;
306
+ margin: 1em 0;
307
+ }
308
+
309
+ .chat-bubble strong {
310
+ font-weight: bold;
311
+ }
312
+
313
+ .chat-bubble em {
314
+ font-style: italic;
315
+ }
316
+
317
+ .chat-bubble del {
318
+ text-decoration: line-through;
319
+ }
320
+
321
+ /* Special styling for code blocks in LLM bubbles */
322
+ .chat-bubble.llm pre {
323
+ background: #f8f8f8;
324
+ border: 1px solid #e0e0e0;
325
+ }
326
+
327
+ /* Apply special styling to inline code elements */
328
+ .chat-bubble.llm code {
329
+ background: #f8f8f8;
330
+ border: 1px solid #e0e0e0;
331
+ }
332
+
333
+ /* Remove styling from code elements inside pre blocks */
334
+ .chat-bubble.llm pre code {
335
+ background: none !important;
336
+ border: none !important;
337
+ padding: 0 !important;
338
+ border-radius: 0 !important;
339
+ }
340
+
341
+ .chat-bubble.llm blockquote {
342
+ background: rgba(0,0,0,0.03);
343
+ border-left-color: #999;
344
+ }
345
+
191
346
  .chat-input-row {
192
347
  display: flex;
193
348
  gap: 0.5em;
@@ -320,6 +475,14 @@ body {
320
475
  background-color: #27ae60;
321
476
  }
322
477
 
478
+ .model-label.embeddings {
479
+ background-color: #9b59b6;
480
+ }
481
+
482
+ .model-label.reranking {
483
+ background-color: #ca4747;
484
+ }
485
+
323
486
  .model-labels-container {
324
487
  display: flex;
325
488
  align-items: center;
@@ -481,6 +644,7 @@ body {
481
644
  border-radius: 6px;
482
645
  overflow: hidden;
483
646
  transition: box-shadow 0.2s ease;
647
+ min-width: 0;
484
648
  }
485
649
 
486
650
  .register-model-name-group:focus-within {
@@ -529,6 +693,8 @@ body {
529
693
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
530
694
  outline: none;
531
695
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
696
+ box-sizing: border-box;
697
+ min-width: 0;
532
698
  }
533
699
 
534
700
  #register-model-name:focus {
@@ -552,6 +718,7 @@ body {
552
718
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
553
719
  outline: none;
554
720
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
721
+ box-sizing: border-box;
555
722
  }
556
723
 
557
724
  #register-recipe:focus {
@@ -591,6 +758,8 @@ body {
591
758
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
592
759
  outline: none;
593
760
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
761
+ box-sizing: border-box;
762
+ min-width: 0;
594
763
  }
595
764
 
596
765
  #register-mmproj:focus, #register-checkpoint:focus {
@@ -773,6 +942,18 @@ body {
773
942
  transform: translateX(0) translateY(-2px) !important;
774
943
  }
775
944
 
945
+ @media (max-width: 800px) {
946
+ .model-mgmt-container {
947
+ flex-direction: column;
948
+ gap: 1.5em;
949
+ }
950
+
951
+ .model-mgmt-pane {
952
+ flex: none;
953
+ width: 100%;
954
+ }
955
+ }
956
+
776
957
  @media (max-width: 600px) {
777
958
  .title {
778
959
  font-size: 2rem;
@@ -785,61 +966,20 @@ body {
785
966
  margin-top: 1rem;
786
967
  }
787
968
  .model-mgmt-container {
788
- flex-direction: column;
789
969
  gap: 1em;
790
970
  }
791
- }
792
-
793
- @media (max-width: 800px) {
794
- .model-mgmt-register-form {
795
- padding: 1.2em 1em 1em 1em;
796
- margin: 0 1em 1.5em 1em;
797
- }
798
-
799
- .register-form-row {
800
- flex-direction: column;
801
- align-items: stretch;
802
- gap: 0.6em;
803
- }
804
-
805
- .register-label {
806
- min-width: 0;
807
- font-size: 0.9em;
808
- }
809
-
810
- .register-label.reasoning-inline {
811
- margin-left: 0;
812
- margin-top: 0.5em;
813
- justify-content: flex-start;
814
- }
815
-
816
- #register-model-name, #register-mmproj, #register-checkpoint {
817
- min-width: 0;
818
- width: 100%;
819
- }
820
-
821
- #register-recipe {
822
- min-width: 0;
823
- width: 100%;
824
- }
825
971
 
826
- .register-doc-link {
827
- margin-left: 0;
828
- margin-top: 0.5em;
829
- align-self: flex-start;
972
+ .tab-container {
973
+ margin-left: 0.5rem;
974
+ margin-right: 0.5rem;
975
+ width: calc(100% - 1rem);
830
976
  }
831
977
 
832
- .register-form-row:last-child {
833
- flex-direction: row;
834
- justify-content: space-between;
835
- align-items: center;
836
- flex-wrap: wrap;
837
- gap: 1em;
838
- }
839
-
840
- #register-submit {
841
- padding: 0.8em 1.5em;
842
- font-size: 0.9em;
978
+ /* Ensure all input fields are properly constrained on very narrow screens */
979
+ #register-model-name, #register-mmproj, #register-checkpoint, #register-recipe {
980
+ max-width: 100%;
981
+ overflow: hidden;
982
+ text-overflow: ellipsis;
843
983
  }
844
984
  }
845
985
 
@@ -878,4 +1018,267 @@ body {
878
1018
 
879
1019
  .register-form-row-tight .tooltip-icon:last-child:hover::before {
880
1020
  transform: translateX(0) translateY(-2px);
881
- }
1021
+ }
1022
+
1023
+ /* App Suggestions Section */
1024
+ .app-suggestions-section {
1025
+ margin-top: 2rem;
1026
+ padding: 1.5rem 0;
1027
+ text-align: center;
1028
+ border-top: 1px solid #e0e0e0;
1029
+ background: #fafafa;
1030
+ }
1031
+
1032
+ .suggestion-text {
1033
+ font-size: 1.1rem;
1034
+ color: #555;
1035
+ margin-bottom: 1.5rem;
1036
+ font-weight: 500;
1037
+ letter-spacing: 0.01em;
1038
+ }
1039
+
1040
+ .suggestion-highlight {
1041
+ font-size: 1.2rem;
1042
+ margin-right: 0.5rem;
1043
+ opacity: 0.8;
1044
+ }
1045
+
1046
+ .app-logos-grid {
1047
+ display: flex;
1048
+ justify-content: center;
1049
+ align-items: center;
1050
+ gap: 1rem;
1051
+ margin: 1rem 0;
1052
+ flex-wrap: nowrap;
1053
+ padding: 0 1rem;
1054
+ }
1055
+
1056
+ .app-logo-item {
1057
+ display: flex;
1058
+ align-items: center;
1059
+ justify-content: center;
1060
+ width: 60px;
1061
+ height: 60px;
1062
+ border-radius: 8px;
1063
+ background: #fff;
1064
+ padding: 0.3rem;
1065
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
1066
+ transition: transform 0.2s, box-shadow 0.2s;
1067
+ text-decoration: none;
1068
+ position: relative;
1069
+ }
1070
+
1071
+ .app-logo-img {
1072
+ width: 100%;
1073
+ height: 100%;
1074
+ object-fit: contain;
1075
+ border-radius: 4px;
1076
+ }
1077
+
1078
+ .app-logo-item:hover {
1079
+ transform: translateY(-3px);
1080
+ box-shadow: 0 6px 20px rgba(0,0,0,0.15);
1081
+ background: #fff;
1082
+ }
1083
+
1084
+ .app-name {
1085
+ font-size: 0.9rem;
1086
+ font-weight: 600;
1087
+ text-align: center;
1088
+ line-height: 1.2;
1089
+ transition: color 0.3s ease;
1090
+ }
1091
+
1092
+ /* Fallback styling for broken images */
1093
+ .app-logo-item.image-failed {
1094
+ background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
1095
+ border: 2px dashed #dee2e6;
1096
+ flex-direction: column;
1097
+ gap: 0.2rem;
1098
+ padding: 0.5rem;
1099
+ }
1100
+
1101
+ .app-logo-item.image-failed:hover {
1102
+ background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
1103
+ border-color: #adb5bd;
1104
+ }
1105
+
1106
+ .app-logo-item.image-failed .app-logo-img {
1107
+ display: none;
1108
+ }
1109
+
1110
+ .app-logo-item.image-failed .app-name {
1111
+ display: block;
1112
+ font-size: 0.7rem;
1113
+ color: #6c757d;
1114
+ font-weight: 500;
1115
+ text-align: center;
1116
+ line-height: 1.1;
1117
+ word-wrap: break-word;
1118
+ overflow-wrap: break-word;
1119
+ hyphens: auto;
1120
+ }
1121
+
1122
+ /* Default hidden state for app names */
1123
+ .app-logo-item:not(.image-failed) .app-name {
1124
+ display: none;
1125
+ }
1126
+
1127
+ @media (max-width: 800px) {
1128
+ .app-logos-grid {
1129
+ gap: 0.5rem;
1130
+ padding: 0 0.5rem;
1131
+ }
1132
+
1133
+ .app-logo-item {
1134
+ width: 48px;
1135
+ height: 48px;
1136
+ }
1137
+
1138
+ .app-logo-img {
1139
+ border-radius: 3px;
1140
+ }
1141
+
1142
+ .suggestion-text {
1143
+ font-size: 0.9rem;
1144
+ margin-bottom: 0.5rem;
1145
+ }
1146
+
1147
+ .app-logo-item.image-failed .app-name {
1148
+ font-size: 0.6rem;
1149
+ line-height: 1.0;
1150
+ }
1151
+
1152
+ .app-logo-item.image-failed {
1153
+ padding: 0.3rem;
1154
+ }
1155
+ }
1156
+
1157
+ /* Think tokens styling */
1158
+ .think-tokens-container {
1159
+ margin: 0.5em 0;
1160
+ border-radius: 8px;
1161
+ overflow: hidden;
1162
+ border: 1px solid rgba(0,0,0,0.1);
1163
+ background: rgba(0,0,0,0.02);
1164
+ transition: all 0.2s ease;
1165
+ }
1166
+
1167
+ .think-tokens-header {
1168
+ background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
1169
+ padding: 0.6em 0.8em;
1170
+ cursor: pointer;
1171
+ display: flex;
1172
+ align-items: center;
1173
+ gap: 0.5em;
1174
+ border-bottom: 1px solid rgba(0,0,0,0.08);
1175
+ transition: all 0.2s ease;
1176
+ user-select: none;
1177
+ }
1178
+
1179
+ .think-tokens-header:hover {
1180
+ background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
1181
+ }
1182
+
1183
+ .think-tokens-chevron {
1184
+ font-size: 0.8em;
1185
+ color: #666;
1186
+ transition: transform 0.2s ease;
1187
+ width: 12px;
1188
+ text-align: center;
1189
+ }
1190
+
1191
+ .think-tokens-label {
1192
+ font-size: 0.9em;
1193
+ font-weight: 600;
1194
+ color: #555;
1195
+ font-style: italic;
1196
+ }
1197
+
1198
+ .think-tokens-content {
1199
+ padding: 1em;
1200
+ background: rgba(0,0,0,0.03);
1201
+ border-top: 1px solid rgba(0,0,0,0.05);
1202
+ display: block;
1203
+ }
1204
+
1205
+ .think-tokens-container.collapsed .think-tokens-content {
1206
+ display: none;
1207
+ }
1208
+
1209
+ .think-tokens-container.collapsed .think-tokens-header {
1210
+ border-bottom: none;
1211
+ }
1212
+
1213
+ .main-response {
1214
+ margin-top: 0.5em;
1215
+ }
1216
+
1217
+ /* Ensure think tokens content inherits proper styling */
1218
+ .think-tokens-content h1,
1219
+ .think-tokens-content h2,
1220
+ .think-tokens-content h3,
1221
+ .think-tokens-content h4,
1222
+ .think-tokens-content h5,
1223
+ .think-tokens-content h6 {
1224
+ margin: 0.5em 0 0.3em 0;
1225
+ color: inherit;
1226
+ font-weight: bold;
1227
+ }
1228
+
1229
+ .think-tokens-content p {
1230
+ margin: 0.5em 0;
1231
+ line-height: 1.4;
1232
+ }
1233
+
1234
+ .think-tokens-content ul,
1235
+ .think-tokens-content ol {
1236
+ margin: 0.5em 0;
1237
+ padding-left: 1.5em;
1238
+ }
1239
+
1240
+ .think-tokens-content li {
1241
+ margin: 0.2em 0;
1242
+ }
1243
+
1244
+ .think-tokens-content blockquote {
1245
+ margin: 0.5em 0;
1246
+ padding: 0.5em 1em;
1247
+ border-left: 3px solid #ccc;
1248
+ background: rgba(0,0,0,0.05);
1249
+ border-radius: 4px;
1250
+ font-style: italic;
1251
+ }
1252
+
1253
+ .think-tokens-content code {
1254
+ background: rgba(0,0,0,0.1);
1255
+ padding: 0.2em 0.4em;
1256
+ border-radius: 3px;
1257
+ font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
1258
+ font-size: 0.9em;
1259
+ }
1260
+
1261
+ .think-tokens-content pre {
1262
+ background: rgba(0,0,0,0.08);
1263
+ border: 1px solid rgba(0,0,0,0.1);
1264
+ border-radius: 6px;
1265
+ padding: 1em;
1266
+ margin: 0.5em 0;
1267
+ overflow-x: auto;
1268
+ font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
1269
+ font-size: 0.9em;
1270
+ line-height: 1.4;
1271
+ }
1272
+
1273
+ .think-tokens-content pre code {
1274
+ background: none !important;
1275
+ padding: 0 !important;
1276
+ border-radius: 0 !important;
1277
+ border: none !important;
1278
+ font-size: inherit;
1279
+ }
1280
+
1281
+ @keyframes fadeIn {
1282
+ from { opacity: 0; transform: translateY(-5px); }
1283
+ to { opacity: 1; transform: translateY(0); }
1284
+ }