llms-py 3.0.7__py3-none-any.whl → 3.0.9__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.
- llms/extensions/app/ui/Recents.mjs +1 -1
- llms/extensions/app/ui/threadStore.mjs +4 -3
- llms/extensions/core_tools/__init__.py +14 -12
- llms/extensions/providers/google.py +3 -3
- llms/extensions/tools/__init__.py +140 -1
- llms/extensions/tools/ui/index.mjs +552 -50
- llms/main.py +445 -97
- llms/ui/App.mjs +1 -1
- llms/ui/ai.mjs +1 -1
- llms/ui/app.css +212 -16
- llms/ui/ctx.mjs +16 -3
- llms/ui/index.mjs +1 -1
- llms/ui/modules/chat/ChatBody.mjs +382 -105
- llms/ui/modules/chat/index.mjs +16 -2
- llms/ui/tailwind.input.css +54 -0
- llms/ui/utils.mjs +29 -0
- {llms_py-3.0.7.dist-info → llms_py-3.0.9.dist-info}/METADATA +1 -1
- {llms_py-3.0.7.dist-info → llms_py-3.0.9.dist-info}/RECORD +22 -22
- {llms_py-3.0.7.dist-info → llms_py-3.0.9.dist-info}/WHEEL +0 -0
- {llms_py-3.0.7.dist-info → llms_py-3.0.9.dist-info}/entry_points.txt +0 -0
- {llms_py-3.0.7.dist-info → llms_py-3.0.9.dist-info}/licenses/LICENSE +0 -0
- {llms_py-3.0.7.dist-info → llms_py-3.0.9.dist-info}/top_level.txt +0 -0
llms/ui/App.mjs
CHANGED
|
@@ -31,7 +31,7 @@ const LeftBar = {
|
|
|
31
31
|
const LeftPanel = {
|
|
32
32
|
template: `
|
|
33
33
|
<div v-if="component" class="flex flex-col h-full border-r border-gray-200 dark:border-gray-700">
|
|
34
|
-
<button type="button" class="absolute top-2 right-2 p-1 rounded-md text-gray-500 hover:bg-gray-100 dark:hover:bg-gray-700 lg:hidden z-20">
|
|
34
|
+
<button type="button" @click="$ctx.toggleLayout('left',false)" class="absolute top-2 right-2 p-1 rounded-md text-gray-500 hover:bg-gray-100 dark:hover:bg-gray-700 lg:hidden z-20">
|
|
35
35
|
<svg class="size-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
|
36
36
|
</button>
|
|
37
37
|
<component :is="component" />
|
llms/ui/ai.mjs
CHANGED
llms/ui/app.css
CHANGED
|
@@ -20,8 +20,10 @@
|
|
|
20
20
|
--color-red-900: oklch(39.6% 0.141 25.723);
|
|
21
21
|
--color-orange-100: oklch(95.4% 0.038 75.164);
|
|
22
22
|
--color-orange-200: oklch(90.1% 0.076 70.697);
|
|
23
|
+
--color-orange-300: oklch(83.7% 0.128 66.29);
|
|
23
24
|
--color-orange-400: oklch(75% 0.183 55.934);
|
|
24
25
|
--color-orange-600: oklch(64.6% 0.222 41.116);
|
|
26
|
+
--color-orange-700: oklch(55.3% 0.195 38.402);
|
|
25
27
|
--color-orange-800: oklch(47% 0.157 37.304);
|
|
26
28
|
--color-orange-900: oklch(40.8% 0.123 38.172);
|
|
27
29
|
--color-yellow-50: oklch(98.7% 0.026 102.212);
|
|
@@ -91,6 +93,7 @@
|
|
|
91
93
|
--color-purple-700: oklch(49.6% 0.265 301.924);
|
|
92
94
|
--color-purple-800: oklch(43.8% 0.218 303.724);
|
|
93
95
|
--color-purple-900: oklch(38.1% 0.176 304.987);
|
|
96
|
+
--color-fuchsia-50: oklch(97.7% 0.017 320.058);
|
|
94
97
|
--color-fuchsia-100: oklch(95.2% 0.037 318.852);
|
|
95
98
|
--color-fuchsia-200: oklch(90.3% 0.076 319.62);
|
|
96
99
|
--color-fuchsia-300: oklch(83.3% 0.145 321.434);
|
|
@@ -484,12 +487,6 @@
|
|
|
484
487
|
.z-100 {
|
|
485
488
|
z-index: 100;
|
|
486
489
|
}
|
|
487
|
-
.z-\[100\] {
|
|
488
|
-
z-index: 100;
|
|
489
|
-
}
|
|
490
|
-
.z-\[101\] {
|
|
491
|
-
z-index: 101;
|
|
492
|
-
}
|
|
493
490
|
.col-span-2 {
|
|
494
491
|
grid-column: span 2 / span 2;
|
|
495
492
|
}
|
|
@@ -538,6 +535,9 @@
|
|
|
538
535
|
.mx-2 {
|
|
539
536
|
margin-inline: calc(var(--spacing) * 2);
|
|
540
537
|
}
|
|
538
|
+
.mx-4 {
|
|
539
|
+
margin-inline: calc(var(--spacing) * 4);
|
|
540
|
+
}
|
|
541
541
|
.mx-auto {
|
|
542
542
|
margin-inline: auto;
|
|
543
543
|
}
|
|
@@ -616,6 +616,9 @@
|
|
|
616
616
|
.mr-16 {
|
|
617
617
|
margin-right: calc(var(--spacing) * 16);
|
|
618
618
|
}
|
|
619
|
+
.-mb-4 {
|
|
620
|
+
margin-bottom: calc(var(--spacing) * -4);
|
|
621
|
+
}
|
|
619
622
|
.-mb-px {
|
|
620
623
|
margin-bottom: -1px;
|
|
621
624
|
}
|
|
@@ -806,6 +809,9 @@
|
|
|
806
809
|
.h-\[37px\] {
|
|
807
810
|
height: 37px;
|
|
808
811
|
}
|
|
812
|
+
.h-auto {
|
|
813
|
+
height: auto;
|
|
814
|
+
}
|
|
809
815
|
.h-full {
|
|
810
816
|
height: 100%;
|
|
811
817
|
}
|
|
@@ -827,9 +833,15 @@
|
|
|
827
833
|
.max-h-96 {
|
|
828
834
|
max-height: calc(var(--spacing) * 96);
|
|
829
835
|
}
|
|
836
|
+
.max-h-\[80vh\] {
|
|
837
|
+
max-height: 80vh;
|
|
838
|
+
}
|
|
830
839
|
.max-h-\[90vh\] {
|
|
831
840
|
max-height: 90vh;
|
|
832
841
|
}
|
|
842
|
+
.max-h-\[200px\] {
|
|
843
|
+
max-height: 200px;
|
|
844
|
+
}
|
|
833
845
|
.max-h-\[calc\(90vh-140px\)\] {
|
|
834
846
|
max-height: calc(90vh - 140px);
|
|
835
847
|
}
|
|
@@ -902,6 +914,9 @@
|
|
|
902
914
|
.w-80 {
|
|
903
915
|
width: calc(var(--spacing) * 80);
|
|
904
916
|
}
|
|
917
|
+
.w-auto {
|
|
918
|
+
width: auto;
|
|
919
|
+
}
|
|
905
920
|
.w-full {
|
|
906
921
|
width: 100%;
|
|
907
922
|
}
|
|
@@ -941,6 +956,9 @@
|
|
|
941
956
|
.max-w-\[140px\] {
|
|
942
957
|
max-width: 140px;
|
|
943
958
|
}
|
|
959
|
+
.max-w-\[200px\] {
|
|
960
|
+
max-width: 200px;
|
|
961
|
+
}
|
|
944
962
|
.max-w-\[400px\] {
|
|
945
963
|
max-width: 400px;
|
|
946
964
|
}
|
|
@@ -953,12 +971,18 @@
|
|
|
953
971
|
.max-w-lg {
|
|
954
972
|
max-width: var(--container-lg);
|
|
955
973
|
}
|
|
974
|
+
.max-w-md {
|
|
975
|
+
max-width: var(--container-md);
|
|
976
|
+
}
|
|
956
977
|
.max-w-none {
|
|
957
978
|
max-width: none;
|
|
958
979
|
}
|
|
959
980
|
.max-w-sm {
|
|
960
981
|
max-width: var(--container-sm);
|
|
961
982
|
}
|
|
983
|
+
.max-w-xl {
|
|
984
|
+
max-width: var(--container-xl);
|
|
985
|
+
}
|
|
962
986
|
.max-w-xs {
|
|
963
987
|
max-width: var(--container-xs);
|
|
964
988
|
}
|
|
@@ -1087,6 +1111,9 @@
|
|
|
1087
1111
|
.-rotate-12 {
|
|
1088
1112
|
rotate: calc(12deg * -1);
|
|
1089
1113
|
}
|
|
1114
|
+
.-rotate-90 {
|
|
1115
|
+
rotate: calc(90deg * -1);
|
|
1116
|
+
}
|
|
1090
1117
|
.rotate-12 {
|
|
1091
1118
|
rotate: 12deg;
|
|
1092
1119
|
}
|
|
@@ -1123,6 +1150,9 @@
|
|
|
1123
1150
|
.cursor-text {
|
|
1124
1151
|
cursor: text;
|
|
1125
1152
|
}
|
|
1153
|
+
.cursor-zoom-in {
|
|
1154
|
+
cursor: zoom-in;
|
|
1155
|
+
}
|
|
1126
1156
|
.resize {
|
|
1127
1157
|
resize: both;
|
|
1128
1158
|
}
|
|
@@ -1445,6 +1475,9 @@
|
|
|
1445
1475
|
--tw-border-style: none;
|
|
1446
1476
|
border-style: none;
|
|
1447
1477
|
}
|
|
1478
|
+
.border-blue-100 {
|
|
1479
|
+
border-color: var(--color-blue-100);
|
|
1480
|
+
}
|
|
1448
1481
|
.border-blue-200 {
|
|
1449
1482
|
border-color: var(--color-blue-200);
|
|
1450
1483
|
}
|
|
@@ -1484,6 +1517,9 @@
|
|
|
1484
1517
|
.border-green-200 {
|
|
1485
1518
|
border-color: var(--color-green-200);
|
|
1486
1519
|
}
|
|
1520
|
+
.border-green-300 {
|
|
1521
|
+
border-color: var(--color-green-300);
|
|
1522
|
+
}
|
|
1487
1523
|
.border-green-400 {
|
|
1488
1524
|
border-color: var(--color-green-400);
|
|
1489
1525
|
}
|
|
@@ -1604,6 +1640,9 @@
|
|
|
1604
1640
|
.bg-cyan-600 {
|
|
1605
1641
|
background-color: var(--color-cyan-600);
|
|
1606
1642
|
}
|
|
1643
|
+
.bg-fuchsia-50 {
|
|
1644
|
+
background-color: var(--color-fuchsia-50);
|
|
1645
|
+
}
|
|
1607
1646
|
.bg-fuchsia-100 {
|
|
1608
1647
|
background-color: var(--color-fuchsia-100);
|
|
1609
1648
|
}
|
|
@@ -1622,6 +1661,12 @@
|
|
|
1622
1661
|
background-color: color-mix(in oklab, var(--color-gray-50) 30%, transparent);
|
|
1623
1662
|
}
|
|
1624
1663
|
}
|
|
1664
|
+
.bg-gray-50\/50 {
|
|
1665
|
+
background-color: color-mix(in srgb, oklch(98.5% 0.002 247.839) 50%, transparent);
|
|
1666
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1667
|
+
background-color: color-mix(in oklab, var(--color-gray-50) 50%, transparent);
|
|
1668
|
+
}
|
|
1669
|
+
}
|
|
1625
1670
|
.bg-gray-100 {
|
|
1626
1671
|
background-color: var(--color-gray-100);
|
|
1627
1672
|
}
|
|
@@ -1811,6 +1856,10 @@
|
|
|
1811
1856
|
--tw-gradient-from: transparent;
|
|
1812
1857
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
|
1813
1858
|
}
|
|
1859
|
+
.from-white {
|
|
1860
|
+
--tw-gradient-from: var(--color-white);
|
|
1861
|
+
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
|
1862
|
+
}
|
|
1814
1863
|
.from-yellow-200 {
|
|
1815
1864
|
--tw-gradient-from: var(--color-yellow-200);
|
|
1816
1865
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
|
@@ -2093,6 +2142,12 @@
|
|
|
2093
2142
|
.pl-5 {
|
|
2094
2143
|
padding-left: calc(var(--spacing) * 5);
|
|
2095
2144
|
}
|
|
2145
|
+
.pl-6 {
|
|
2146
|
+
padding-left: calc(var(--spacing) * 6);
|
|
2147
|
+
}
|
|
2148
|
+
.pl-7 {
|
|
2149
|
+
padding-left: calc(var(--spacing) * 7);
|
|
2150
|
+
}
|
|
2096
2151
|
.pl-9 {
|
|
2097
2152
|
padding-left: calc(var(--spacing) * 9);
|
|
2098
2153
|
}
|
|
@@ -2291,6 +2346,9 @@
|
|
|
2291
2346
|
.text-cyan-600 {
|
|
2292
2347
|
color: var(--color-cyan-600);
|
|
2293
2348
|
}
|
|
2349
|
+
.text-fuchsia-700 {
|
|
2350
|
+
color: var(--color-fuchsia-700);
|
|
2351
|
+
}
|
|
2294
2352
|
.text-fuchsia-800 {
|
|
2295
2353
|
color: var(--color-fuchsia-800);
|
|
2296
2354
|
}
|
|
@@ -2351,6 +2409,12 @@
|
|
|
2351
2409
|
.text-indigo-700 {
|
|
2352
2410
|
color: var(--color-indigo-700);
|
|
2353
2411
|
}
|
|
2412
|
+
.text-orange-600 {
|
|
2413
|
+
color: var(--color-orange-600);
|
|
2414
|
+
}
|
|
2415
|
+
.text-orange-700 {
|
|
2416
|
+
color: var(--color-orange-700);
|
|
2417
|
+
}
|
|
2354
2418
|
.text-orange-800 {
|
|
2355
2419
|
color: var(--color-orange-800);
|
|
2356
2420
|
}
|
|
@@ -2399,12 +2463,6 @@
|
|
|
2399
2463
|
.text-white {
|
|
2400
2464
|
color: var(--color-white);
|
|
2401
2465
|
}
|
|
2402
|
-
.text-white\/70 {
|
|
2403
|
-
color: color-mix(in srgb, #fff 70%, transparent);
|
|
2404
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
2405
|
-
color: color-mix(in oklab, var(--color-white) 70%, transparent);
|
|
2406
|
-
}
|
|
2407
|
-
}
|
|
2408
2466
|
.text-yellow-100 {
|
|
2409
2467
|
color: var(--color-yellow-100);
|
|
2410
2468
|
}
|
|
@@ -2868,6 +2926,13 @@
|
|
|
2868
2926
|
}
|
|
2869
2927
|
}
|
|
2870
2928
|
}
|
|
2929
|
+
.group-hover\:text-gray-900 {
|
|
2930
|
+
&:is(:where(.group):hover *) {
|
|
2931
|
+
@media (hover: hover) {
|
|
2932
|
+
color: var(--color-gray-900);
|
|
2933
|
+
}
|
|
2934
|
+
}
|
|
2935
|
+
}
|
|
2871
2936
|
.group-hover\:opacity-75 {
|
|
2872
2937
|
&:is(:where(.group):hover *) {
|
|
2873
2938
|
@media (hover: hover) {
|
|
@@ -3222,6 +3287,13 @@
|
|
|
3222
3287
|
}
|
|
3223
3288
|
}
|
|
3224
3289
|
}
|
|
3290
|
+
.hover\:bg-fuchsia-100 {
|
|
3291
|
+
&:hover {
|
|
3292
|
+
@media (hover: hover) {
|
|
3293
|
+
background-color: var(--color-fuchsia-100);
|
|
3294
|
+
}
|
|
3295
|
+
}
|
|
3296
|
+
}
|
|
3225
3297
|
.hover\:bg-fuchsia-600 {
|
|
3226
3298
|
&:hover {
|
|
3227
3299
|
@media (hover: hover) {
|
|
@@ -3558,17 +3630,17 @@
|
|
|
3558
3630
|
}
|
|
3559
3631
|
}
|
|
3560
3632
|
}
|
|
3561
|
-
.hover\:
|
|
3633
|
+
.hover\:underline {
|
|
3562
3634
|
&:hover {
|
|
3563
3635
|
@media (hover: hover) {
|
|
3564
|
-
|
|
3636
|
+
text-decoration-line: underline;
|
|
3565
3637
|
}
|
|
3566
3638
|
}
|
|
3567
3639
|
}
|
|
3568
|
-
.hover\:
|
|
3640
|
+
.hover\:opacity-90 {
|
|
3569
3641
|
&:hover {
|
|
3570
3642
|
@media (hover: hover) {
|
|
3571
|
-
|
|
3643
|
+
opacity: 90%;
|
|
3572
3644
|
}
|
|
3573
3645
|
}
|
|
3574
3646
|
}
|
|
@@ -4253,6 +4325,11 @@
|
|
|
4253
4325
|
flex-direction: row;
|
|
4254
4326
|
}
|
|
4255
4327
|
}
|
|
4328
|
+
.md\:items-center {
|
|
4329
|
+
@media (width >= 48rem) {
|
|
4330
|
+
align-items: center;
|
|
4331
|
+
}
|
|
4332
|
+
}
|
|
4256
4333
|
.md\:gap-10 {
|
|
4257
4334
|
@media (width >= 48rem) {
|
|
4258
4335
|
gap: calc(var(--spacing) * 10);
|
|
@@ -4730,6 +4807,14 @@
|
|
|
4730
4807
|
background-color: var(--color-cyan-600);
|
|
4731
4808
|
}
|
|
4732
4809
|
}
|
|
4810
|
+
.dark\:bg-fuchsia-900\/20 {
|
|
4811
|
+
&:where(.dark, .dark *) {
|
|
4812
|
+
background-color: color-mix(in srgb, oklch(40.1% 0.17 325.612) 20%, transparent);
|
|
4813
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4814
|
+
background-color: color-mix(in oklab, var(--color-fuchsia-900) 20%, transparent);
|
|
4815
|
+
}
|
|
4816
|
+
}
|
|
4817
|
+
}
|
|
4733
4818
|
.dark\:bg-fuchsia-900\/40 {
|
|
4734
4819
|
&:where(.dark, .dark *) {
|
|
4735
4820
|
background-color: color-mix(in srgb, oklch(40.1% 0.17 325.612) 40%, transparent);
|
|
@@ -4831,6 +4916,14 @@
|
|
|
4831
4916
|
background-color: var(--color-green-900);
|
|
4832
4917
|
}
|
|
4833
4918
|
}
|
|
4919
|
+
.dark\:bg-green-900\/20 {
|
|
4920
|
+
&:where(.dark, .dark *) {
|
|
4921
|
+
background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 20%, transparent);
|
|
4922
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4923
|
+
background-color: color-mix(in oklab, var(--color-green-900) 20%, transparent);
|
|
4924
|
+
}
|
|
4925
|
+
}
|
|
4926
|
+
}
|
|
4834
4927
|
.dark\:bg-green-900\/30 {
|
|
4835
4928
|
&:where(.dark, .dark *) {
|
|
4836
4929
|
background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 30%, transparent);
|
|
@@ -4880,6 +4973,14 @@
|
|
|
4880
4973
|
background-color: var(--color-orange-900);
|
|
4881
4974
|
}
|
|
4882
4975
|
}
|
|
4976
|
+
.dark\:bg-orange-900\/50 {
|
|
4977
|
+
&:where(.dark, .dark *) {
|
|
4978
|
+
background-color: color-mix(in srgb, oklch(40.8% 0.123 38.172) 50%, transparent);
|
|
4979
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4980
|
+
background-color: color-mix(in oklab, var(--color-orange-900) 50%, transparent);
|
|
4981
|
+
}
|
|
4982
|
+
}
|
|
4983
|
+
}
|
|
4883
4984
|
.dark\:bg-purple-600 {
|
|
4884
4985
|
&:where(.dark, .dark *) {
|
|
4885
4986
|
background-color: var(--color-purple-600);
|
|
@@ -4979,6 +5080,12 @@
|
|
|
4979
5080
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
|
4980
5081
|
}
|
|
4981
5082
|
}
|
|
5083
|
+
.dark\:from-gray-800 {
|
|
5084
|
+
&:where(.dark, .dark *) {
|
|
5085
|
+
--tw-gradient-from: var(--color-gray-800);
|
|
5086
|
+
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
|
5087
|
+
}
|
|
5088
|
+
}
|
|
4982
5089
|
.dark\:from-green-900\/20 {
|
|
4983
5090
|
&:where(.dark, .dark *) {
|
|
4984
5091
|
--tw-gradient-from: color-mix(in srgb, oklch(39.3% 0.095 152.535) 20%, transparent);
|
|
@@ -5175,6 +5282,16 @@
|
|
|
5175
5282
|
color: var(--color-orange-200);
|
|
5176
5283
|
}
|
|
5177
5284
|
}
|
|
5285
|
+
.dark\:text-orange-300 {
|
|
5286
|
+
&:where(.dark, .dark *) {
|
|
5287
|
+
color: var(--color-orange-300);
|
|
5288
|
+
}
|
|
5289
|
+
}
|
|
5290
|
+
.dark\:text-orange-400 {
|
|
5291
|
+
&:where(.dark, .dark *) {
|
|
5292
|
+
color: var(--color-orange-400);
|
|
5293
|
+
}
|
|
5294
|
+
}
|
|
5178
5295
|
.dark\:text-purple-100 {
|
|
5179
5296
|
&:where(.dark, .dark *) {
|
|
5180
5297
|
color: var(--color-purple-100);
|
|
@@ -5225,6 +5342,11 @@
|
|
|
5225
5342
|
color: var(--color-white);
|
|
5226
5343
|
}
|
|
5227
5344
|
}
|
|
5345
|
+
.dark\:text-yellow-400 {
|
|
5346
|
+
&:where(.dark, .dark *) {
|
|
5347
|
+
color: var(--color-yellow-400);
|
|
5348
|
+
}
|
|
5349
|
+
}
|
|
5228
5350
|
.dark\:placeholder-gray-400 {
|
|
5229
5351
|
&:where(.dark, .dark *) {
|
|
5230
5352
|
&::placeholder {
|
|
@@ -5285,6 +5407,15 @@
|
|
|
5285
5407
|
}
|
|
5286
5408
|
}
|
|
5287
5409
|
}
|
|
5410
|
+
.dark\:group-hover\:text-gray-100 {
|
|
5411
|
+
&:where(.dark, .dark *) {
|
|
5412
|
+
&:is(:where(.group):hover *) {
|
|
5413
|
+
@media (hover: hover) {
|
|
5414
|
+
color: var(--color-gray-100);
|
|
5415
|
+
}
|
|
5416
|
+
}
|
|
5417
|
+
}
|
|
5418
|
+
}
|
|
5288
5419
|
.dark\:group-hover\:text-gray-500 {
|
|
5289
5420
|
&:where(.dark, .dark *) {
|
|
5290
5421
|
&:is(:where(.group):hover *) {
|
|
@@ -5445,6 +5576,18 @@
|
|
|
5445
5576
|
}
|
|
5446
5577
|
}
|
|
5447
5578
|
}
|
|
5579
|
+
.dark\:hover\:bg-fuchsia-900\/40 {
|
|
5580
|
+
&:where(.dark, .dark *) {
|
|
5581
|
+
&:hover {
|
|
5582
|
+
@media (hover: hover) {
|
|
5583
|
+
background-color: color-mix(in srgb, oklch(40.1% 0.17 325.612) 40%, transparent);
|
|
5584
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
5585
|
+
background-color: color-mix(in oklab, var(--color-fuchsia-900) 40%, transparent);
|
|
5586
|
+
}
|
|
5587
|
+
}
|
|
5588
|
+
}
|
|
5589
|
+
}
|
|
5590
|
+
}
|
|
5448
5591
|
.dark\:hover\:bg-gray-200 {
|
|
5449
5592
|
&:where(.dark, .dark *) {
|
|
5450
5593
|
&:hover {
|
|
@@ -5532,6 +5675,18 @@
|
|
|
5532
5675
|
}
|
|
5533
5676
|
}
|
|
5534
5677
|
}
|
|
5678
|
+
.dark\:hover\:bg-green-900\/40 {
|
|
5679
|
+
&:where(.dark, .dark *) {
|
|
5680
|
+
&:hover {
|
|
5681
|
+
@media (hover: hover) {
|
|
5682
|
+
background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 40%, transparent);
|
|
5683
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
5684
|
+
background-color: color-mix(in oklab, var(--color-green-900) 40%, transparent);
|
|
5685
|
+
}
|
|
5686
|
+
}
|
|
5687
|
+
}
|
|
5688
|
+
}
|
|
5689
|
+
}
|
|
5535
5690
|
.dark\:hover\:bg-indigo-700 {
|
|
5536
5691
|
&:where(.dark, .dark *) {
|
|
5537
5692
|
&:hover {
|
|
@@ -6231,6 +6386,35 @@
|
|
|
6231
6386
|
overflow-x: auto;
|
|
6232
6387
|
padding: 1em;
|
|
6233
6388
|
}
|
|
6389
|
+
.tool-description pre {
|
|
6390
|
+
background-color: #f8fafc !important;
|
|
6391
|
+
color: #1f2937 !important;
|
|
6392
|
+
border: 1px solid #e2e8f0;
|
|
6393
|
+
border-radius: 0.5rem;
|
|
6394
|
+
padding: 0.75rem 1rem;
|
|
6395
|
+
margin: 0.75rem 0;
|
|
6396
|
+
overflow-x: auto;
|
|
6397
|
+
}
|
|
6398
|
+
.tool-description code {
|
|
6399
|
+
color: inherit !important;
|
|
6400
|
+
}
|
|
6401
|
+
.tool-description code.hljs {
|
|
6402
|
+
background: transparent !important;
|
|
6403
|
+
padding: 0;
|
|
6404
|
+
font-size: 0.85em;
|
|
6405
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
6406
|
+
}
|
|
6407
|
+
.dark .tool-description pre {
|
|
6408
|
+
background-color: #1f2937 !important;
|
|
6409
|
+
border-color: #374151;
|
|
6410
|
+
color: #e5e7eb !important;
|
|
6411
|
+
}
|
|
6412
|
+
.dark .tool-description code {
|
|
6413
|
+
color: inherit !important;
|
|
6414
|
+
}
|
|
6415
|
+
.dark .tool-description code.hljs {
|
|
6416
|
+
color: #e5e7eb;
|
|
6417
|
+
}
|
|
6234
6418
|
.message pre {
|
|
6235
6419
|
max-width: 100%;
|
|
6236
6420
|
min-width: auto;
|
|
@@ -6429,21 +6613,33 @@
|
|
|
6429
6613
|
.message pre {
|
|
6430
6614
|
max-width: 500px !important;
|
|
6431
6615
|
}
|
|
6616
|
+
.has-iframes {
|
|
6617
|
+
min-width: 640px;
|
|
6618
|
+
}
|
|
6432
6619
|
}
|
|
6433
6620
|
@media (min-width: 768px) {
|
|
6434
6621
|
.message pre {
|
|
6435
6622
|
max-width: 600px !important;
|
|
6436
6623
|
}
|
|
6624
|
+
.has-iframes {
|
|
6625
|
+
min-width: 640px;
|
|
6626
|
+
}
|
|
6437
6627
|
}
|
|
6438
6628
|
@media (min-width: 1024px) {
|
|
6439
6629
|
.message pre, .message .prose pre {
|
|
6440
6630
|
max-width: 700px !important;
|
|
6441
6631
|
}
|
|
6632
|
+
.has-iframes {
|
|
6633
|
+
min-width: 740px;
|
|
6634
|
+
}
|
|
6442
6635
|
}
|
|
6443
6636
|
@media (min-width: 1280px) {
|
|
6444
6637
|
.message pre, .message .prose pre {
|
|
6445
6638
|
max-width: 800px !important;
|
|
6446
6639
|
}
|
|
6640
|
+
.has-iframes {
|
|
6641
|
+
min-width: 840px;
|
|
6642
|
+
}
|
|
6447
6643
|
}
|
|
6448
6644
|
}
|
|
6449
6645
|
@property --tw-border-spacing-x {
|
llms/ui/ctx.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { reactive, markRaw } from 'vue'
|
|
3
3
|
import { EventBus, humanize, combinePaths } from "@servicestack/client"
|
|
4
|
-
import { storageObject } from './utils.mjs'
|
|
4
|
+
import { storageObject, isHtml } from './utils.mjs'
|
|
5
5
|
|
|
6
6
|
export class ExtensionScope {
|
|
7
7
|
constructor(ctx, id) {
|
|
@@ -174,7 +174,8 @@ export class AppContext {
|
|
|
174
174
|
async init() {
|
|
175
175
|
Object.assign(this.state, await this.ai.init(this))
|
|
176
176
|
Object.assign(this.fmt, {
|
|
177
|
-
markdown: this.renderMarkdown.bind(this)
|
|
177
|
+
markdown: this.renderMarkdown.bind(this),
|
|
178
|
+
content: this.renderContent.bind(this),
|
|
178
179
|
})
|
|
179
180
|
}
|
|
180
181
|
setGlobals(globals) {
|
|
@@ -334,6 +335,9 @@ export class AppContext {
|
|
|
334
335
|
this.state.error = null
|
|
335
336
|
}
|
|
336
337
|
|
|
338
|
+
resolveUrl(url) {
|
|
339
|
+
return this.ai.resolveUrl(url)
|
|
340
|
+
}
|
|
337
341
|
async getJson(url, options) {
|
|
338
342
|
return await this.ai.getJson(url, options)
|
|
339
343
|
}
|
|
@@ -396,4 +400,13 @@ export class AppContext {
|
|
|
396
400
|
// }
|
|
397
401
|
return this.marked.parse(content || '')
|
|
398
402
|
}
|
|
399
|
-
|
|
403
|
+
|
|
404
|
+
renderContent(content) {
|
|
405
|
+
// Check for HTML tags to detect HTML content
|
|
406
|
+
if (isHtml(content)) {
|
|
407
|
+
// If this is HTML content, return it in an iframe so it doesn't break the page
|
|
408
|
+
return `<iframe src="data:text/html;charset=utf-8,${encodeURIComponent(content)}"></iframe>`
|
|
409
|
+
}
|
|
410
|
+
return this.renderMarkdown(content)
|
|
411
|
+
}
|
|
412
|
+
}
|
llms/ui/index.mjs
CHANGED
|
@@ -9,7 +9,7 @@ import ChatModule from './modules/chat/index.mjs'
|
|
|
9
9
|
import ModelSelectorModule from './modules/model-selector.mjs'
|
|
10
10
|
import IconsModule from './modules/icons.mjs'
|
|
11
11
|
import { utilsFunctions, utilsFormatters } from './utils.mjs'
|
|
12
|
-
import { marked
|
|
12
|
+
import { marked } from './markdown.mjs'
|
|
13
13
|
import { AppContext } from './ctx.mjs'
|
|
14
14
|
|
|
15
15
|
const Components = {
|