llms-py 3.0.6__py3-none-any.whl → 3.0.8__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/analytics/ui/index.mjs +1 -1
- llms/extensions/app/__init__.py +3 -1
- 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/__init__.py +2 -0
- llms/extensions/providers/anthropic.py +1 -1
- llms/extensions/providers/chutes.py +7 -9
- llms/extensions/providers/google.py +3 -3
- llms/extensions/providers/nvidia.py +9 -11
- llms/extensions/providers/openai.py +1 -3
- llms/extensions/providers/zai.py +182 -0
- llms/extensions/tools/__init__.py +140 -1
- llms/extensions/tools/ui/index.mjs +552 -50
- llms/llms.json +14 -2
- llms/main.py +461 -99
- llms/providers-extra.json +38 -0
- llms/providers.json +1 -1
- llms/ui/App.mjs +1 -1
- llms/ui/ai.mjs +1 -1
- llms/ui/app.css +287 -18
- llms/ui/ctx.mjs +16 -3
- llms/ui/index.mjs +1 -1
- llms/ui/modules/chat/ChatBody.mjs +384 -107
- llms/ui/modules/chat/index.mjs +18 -4
- llms/ui/tailwind.input.css +54 -0
- llms/ui/utils.mjs +33 -4
- {llms_py-3.0.6.dist-info → llms_py-3.0.8.dist-info}/METADATA +1 -1
- {llms_py-3.0.6.dist-info → llms_py-3.0.8.dist-info}/RECORD +33 -32
- {llms_py-3.0.6.dist-info → llms_py-3.0.8.dist-info}/WHEEL +0 -0
- {llms_py-3.0.6.dist-info → llms_py-3.0.8.dist-info}/entry_points.txt +0 -0
- {llms_py-3.0.6.dist-info → llms_py-3.0.8.dist-info}/licenses/LICENSE +0 -0
- {llms_py-3.0.6.dist-info → llms_py-3.0.8.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);
|
|
@@ -32,8 +34,6 @@
|
|
|
32
34
|
--color-yellow-500: oklch(79.5% 0.184 86.047);
|
|
33
35
|
--color-yellow-600: oklch(68.1% 0.162 75.834);
|
|
34
36
|
--color-yellow-700: oklch(55.4% 0.135 66.442);
|
|
35
|
-
--color-yellow-800: oklch(47.6% 0.114 61.907);
|
|
36
|
-
--color-yellow-900: oklch(42.1% 0.095 57.708);
|
|
37
37
|
--color-green-50: oklch(98.2% 0.018 155.826);
|
|
38
38
|
--color-green-100: oklch(96.2% 0.044 156.743);
|
|
39
39
|
--color-green-200: oklch(92.5% 0.084 155.995);
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
--color-violet-700: oklch(49.1% 0.27 292.581);
|
|
84
84
|
--color-violet-800: oklch(43.2% 0.232 292.759);
|
|
85
85
|
--color-violet-900: oklch(38% 0.189 293.745);
|
|
86
|
+
--color-purple-50: oklch(97.7% 0.014 308.299);
|
|
86
87
|
--color-purple-100: oklch(94.6% 0.033 307.174);
|
|
87
88
|
--color-purple-200: oklch(90.2% 0.063 306.703);
|
|
88
89
|
--color-purple-300: oklch(82.7% 0.119 306.383);
|
|
@@ -92,6 +93,7 @@
|
|
|
92
93
|
--color-purple-700: oklch(49.6% 0.265 301.924);
|
|
93
94
|
--color-purple-800: oklch(43.8% 0.218 303.724);
|
|
94
95
|
--color-purple-900: oklch(38.1% 0.176 304.987);
|
|
96
|
+
--color-fuchsia-50: oklch(97.7% 0.017 320.058);
|
|
95
97
|
--color-fuchsia-100: oklch(95.2% 0.037 318.852);
|
|
96
98
|
--color-fuchsia-200: oklch(90.3% 0.076 319.62);
|
|
97
99
|
--color-fuchsia-300: oklch(83.3% 0.145 321.434);
|
|
@@ -485,12 +487,6 @@
|
|
|
485
487
|
.z-100 {
|
|
486
488
|
z-index: 100;
|
|
487
489
|
}
|
|
488
|
-
.z-\[100\] {
|
|
489
|
-
z-index: 100;
|
|
490
|
-
}
|
|
491
|
-
.z-\[101\] {
|
|
492
|
-
z-index: 101;
|
|
493
|
-
}
|
|
494
490
|
.col-span-2 {
|
|
495
491
|
grid-column: span 2 / span 2;
|
|
496
492
|
}
|
|
@@ -807,6 +803,9 @@
|
|
|
807
803
|
.h-\[37px\] {
|
|
808
804
|
height: 37px;
|
|
809
805
|
}
|
|
806
|
+
.h-auto {
|
|
807
|
+
height: auto;
|
|
808
|
+
}
|
|
810
809
|
.h-full {
|
|
811
810
|
height: 100%;
|
|
812
811
|
}
|
|
@@ -828,9 +827,15 @@
|
|
|
828
827
|
.max-h-96 {
|
|
829
828
|
max-height: calc(var(--spacing) * 96);
|
|
830
829
|
}
|
|
830
|
+
.max-h-\[80vh\] {
|
|
831
|
+
max-height: 80vh;
|
|
832
|
+
}
|
|
831
833
|
.max-h-\[90vh\] {
|
|
832
834
|
max-height: 90vh;
|
|
833
835
|
}
|
|
836
|
+
.max-h-\[200px\] {
|
|
837
|
+
max-height: 200px;
|
|
838
|
+
}
|
|
834
839
|
.max-h-\[calc\(90vh-140px\)\] {
|
|
835
840
|
max-height: calc(90vh - 140px);
|
|
836
841
|
}
|
|
@@ -903,6 +908,9 @@
|
|
|
903
908
|
.w-80 {
|
|
904
909
|
width: calc(var(--spacing) * 80);
|
|
905
910
|
}
|
|
911
|
+
.w-auto {
|
|
912
|
+
width: auto;
|
|
913
|
+
}
|
|
906
914
|
.w-full {
|
|
907
915
|
width: 100%;
|
|
908
916
|
}
|
|
@@ -942,6 +950,9 @@
|
|
|
942
950
|
.max-w-\[140px\] {
|
|
943
951
|
max-width: 140px;
|
|
944
952
|
}
|
|
953
|
+
.max-w-\[200px\] {
|
|
954
|
+
max-width: 200px;
|
|
955
|
+
}
|
|
945
956
|
.max-w-\[400px\] {
|
|
946
957
|
max-width: 400px;
|
|
947
958
|
}
|
|
@@ -1088,6 +1099,9 @@
|
|
|
1088
1099
|
.-rotate-12 {
|
|
1089
1100
|
rotate: calc(12deg * -1);
|
|
1090
1101
|
}
|
|
1102
|
+
.-rotate-90 {
|
|
1103
|
+
rotate: calc(90deg * -1);
|
|
1104
|
+
}
|
|
1091
1105
|
.rotate-12 {
|
|
1092
1106
|
rotate: 12deg;
|
|
1093
1107
|
}
|
|
@@ -1124,6 +1138,9 @@
|
|
|
1124
1138
|
.cursor-text {
|
|
1125
1139
|
cursor: text;
|
|
1126
1140
|
}
|
|
1141
|
+
.cursor-zoom-in {
|
|
1142
|
+
cursor: zoom-in;
|
|
1143
|
+
}
|
|
1127
1144
|
.resize {
|
|
1128
1145
|
resize: both;
|
|
1129
1146
|
}
|
|
@@ -1446,6 +1463,9 @@
|
|
|
1446
1463
|
--tw-border-style: none;
|
|
1447
1464
|
border-style: none;
|
|
1448
1465
|
}
|
|
1466
|
+
.border-blue-100 {
|
|
1467
|
+
border-color: var(--color-blue-100);
|
|
1468
|
+
}
|
|
1449
1469
|
.border-blue-200 {
|
|
1450
1470
|
border-color: var(--color-blue-200);
|
|
1451
1471
|
}
|
|
@@ -1485,6 +1505,9 @@
|
|
|
1485
1505
|
.border-green-200 {
|
|
1486
1506
|
border-color: var(--color-green-200);
|
|
1487
1507
|
}
|
|
1508
|
+
.border-green-300 {
|
|
1509
|
+
border-color: var(--color-green-300);
|
|
1510
|
+
}
|
|
1488
1511
|
.border-green-400 {
|
|
1489
1512
|
border-color: var(--color-green-400);
|
|
1490
1513
|
}
|
|
@@ -1605,6 +1628,9 @@
|
|
|
1605
1628
|
.bg-cyan-600 {
|
|
1606
1629
|
background-color: var(--color-cyan-600);
|
|
1607
1630
|
}
|
|
1631
|
+
.bg-fuchsia-50 {
|
|
1632
|
+
background-color: var(--color-fuchsia-50);
|
|
1633
|
+
}
|
|
1608
1634
|
.bg-fuchsia-100 {
|
|
1609
1635
|
background-color: var(--color-fuchsia-100);
|
|
1610
1636
|
}
|
|
@@ -1623,6 +1649,12 @@
|
|
|
1623
1649
|
background-color: color-mix(in oklab, var(--color-gray-50) 30%, transparent);
|
|
1624
1650
|
}
|
|
1625
1651
|
}
|
|
1652
|
+
.bg-gray-50\/50 {
|
|
1653
|
+
background-color: color-mix(in srgb, oklch(98.5% 0.002 247.839) 50%, transparent);
|
|
1654
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1655
|
+
background-color: color-mix(in oklab, var(--color-gray-50) 50%, transparent);
|
|
1656
|
+
}
|
|
1657
|
+
}
|
|
1626
1658
|
.bg-gray-100 {
|
|
1627
1659
|
background-color: var(--color-gray-100);
|
|
1628
1660
|
}
|
|
@@ -1788,10 +1820,22 @@
|
|
|
1788
1820
|
}
|
|
1789
1821
|
--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));
|
|
1790
1822
|
}
|
|
1823
|
+
.from-blue-50 {
|
|
1824
|
+
--tw-gradient-from: var(--color-blue-50);
|
|
1825
|
+
--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));
|
|
1826
|
+
}
|
|
1827
|
+
.from-green-50 {
|
|
1828
|
+
--tw-gradient-from: var(--color-green-50);
|
|
1829
|
+
--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));
|
|
1830
|
+
}
|
|
1791
1831
|
.from-green-900 {
|
|
1792
1832
|
--tw-gradient-from: var(--color-green-900);
|
|
1793
1833
|
--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));
|
|
1794
1834
|
}
|
|
1835
|
+
.from-purple-50 {
|
|
1836
|
+
--tw-gradient-from: var(--color-purple-50);
|
|
1837
|
+
--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));
|
|
1838
|
+
}
|
|
1795
1839
|
.from-red-700 {
|
|
1796
1840
|
--tw-gradient-from: var(--color-red-700);
|
|
1797
1841
|
--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));
|
|
@@ -1800,6 +1844,10 @@
|
|
|
1800
1844
|
--tw-gradient-from: transparent;
|
|
1801
1845
|
--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));
|
|
1802
1846
|
}
|
|
1847
|
+
.from-white {
|
|
1848
|
+
--tw-gradient-from: var(--color-white);
|
|
1849
|
+
--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));
|
|
1850
|
+
}
|
|
1803
1851
|
.from-yellow-200 {
|
|
1804
1852
|
--tw-gradient-from: var(--color-yellow-200);
|
|
1805
1853
|
--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));
|
|
@@ -1845,10 +1893,22 @@
|
|
|
1845
1893
|
--tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
|
|
1846
1894
|
--tw-gradient-stops: var(--tw-gradient-via-stops);
|
|
1847
1895
|
}
|
|
1896
|
+
.to-blue-100 {
|
|
1897
|
+
--tw-gradient-to: var(--color-blue-100);
|
|
1898
|
+
--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));
|
|
1899
|
+
}
|
|
1900
|
+
.to-green-100 {
|
|
1901
|
+
--tw-gradient-to: var(--color-green-100);
|
|
1902
|
+
--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));
|
|
1903
|
+
}
|
|
1848
1904
|
.to-green-900 {
|
|
1849
1905
|
--tw-gradient-to: var(--color-green-900);
|
|
1850
1906
|
--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));
|
|
1851
1907
|
}
|
|
1908
|
+
.to-purple-100 {
|
|
1909
|
+
--tw-gradient-to: var(--color-purple-100);
|
|
1910
|
+
--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));
|
|
1911
|
+
}
|
|
1852
1912
|
.to-red-900 {
|
|
1853
1913
|
--tw-gradient-to: var(--color-red-900);
|
|
1854
1914
|
--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));
|
|
@@ -2070,6 +2130,12 @@
|
|
|
2070
2130
|
.pl-5 {
|
|
2071
2131
|
padding-left: calc(var(--spacing) * 5);
|
|
2072
2132
|
}
|
|
2133
|
+
.pl-6 {
|
|
2134
|
+
padding-left: calc(var(--spacing) * 6);
|
|
2135
|
+
}
|
|
2136
|
+
.pl-7 {
|
|
2137
|
+
padding-left: calc(var(--spacing) * 7);
|
|
2138
|
+
}
|
|
2073
2139
|
.pl-9 {
|
|
2074
2140
|
padding-left: calc(var(--spacing) * 9);
|
|
2075
2141
|
}
|
|
@@ -2262,9 +2328,15 @@
|
|
|
2262
2328
|
.text-blue-800 {
|
|
2263
2329
|
color: var(--color-blue-800);
|
|
2264
2330
|
}
|
|
2331
|
+
.text-blue-900 {
|
|
2332
|
+
color: var(--color-blue-900);
|
|
2333
|
+
}
|
|
2265
2334
|
.text-cyan-600 {
|
|
2266
2335
|
color: var(--color-cyan-600);
|
|
2267
2336
|
}
|
|
2337
|
+
.text-fuchsia-700 {
|
|
2338
|
+
color: var(--color-fuchsia-700);
|
|
2339
|
+
}
|
|
2268
2340
|
.text-fuchsia-800 {
|
|
2269
2341
|
color: var(--color-fuchsia-800);
|
|
2270
2342
|
}
|
|
@@ -2328,6 +2400,9 @@
|
|
|
2328
2400
|
.text-orange-600 {
|
|
2329
2401
|
color: var(--color-orange-600);
|
|
2330
2402
|
}
|
|
2403
|
+
.text-orange-700 {
|
|
2404
|
+
color: var(--color-orange-700);
|
|
2405
|
+
}
|
|
2331
2406
|
.text-orange-800 {
|
|
2332
2407
|
color: var(--color-orange-800);
|
|
2333
2408
|
}
|
|
@@ -2340,6 +2415,9 @@
|
|
|
2340
2415
|
.text-purple-800 {
|
|
2341
2416
|
color: var(--color-purple-800);
|
|
2342
2417
|
}
|
|
2418
|
+
.text-purple-900 {
|
|
2419
|
+
color: var(--color-purple-900);
|
|
2420
|
+
}
|
|
2343
2421
|
.text-red-400 {
|
|
2344
2422
|
color: var(--color-red-400);
|
|
2345
2423
|
}
|
|
@@ -2373,12 +2451,6 @@
|
|
|
2373
2451
|
.text-white {
|
|
2374
2452
|
color: var(--color-white);
|
|
2375
2453
|
}
|
|
2376
|
-
.text-white\/70 {
|
|
2377
|
-
color: color-mix(in srgb, #fff 70%, transparent);
|
|
2378
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
2379
|
-
color: color-mix(in oklab, var(--color-white) 70%, transparent);
|
|
2380
|
-
}
|
|
2381
|
-
}
|
|
2382
2454
|
.text-yellow-100 {
|
|
2383
2455
|
color: var(--color-yellow-100);
|
|
2384
2456
|
}
|
|
@@ -2842,6 +2914,13 @@
|
|
|
2842
2914
|
}
|
|
2843
2915
|
}
|
|
2844
2916
|
}
|
|
2917
|
+
.group-hover\:text-gray-900 {
|
|
2918
|
+
&:is(:where(.group):hover *) {
|
|
2919
|
+
@media (hover: hover) {
|
|
2920
|
+
color: var(--color-gray-900);
|
|
2921
|
+
}
|
|
2922
|
+
}
|
|
2923
|
+
}
|
|
2845
2924
|
.group-hover\:opacity-75 {
|
|
2846
2925
|
&:is(:where(.group):hover *) {
|
|
2847
2926
|
@media (hover: hover) {
|
|
@@ -3196,6 +3275,13 @@
|
|
|
3196
3275
|
}
|
|
3197
3276
|
}
|
|
3198
3277
|
}
|
|
3278
|
+
.hover\:bg-fuchsia-100 {
|
|
3279
|
+
&:hover {
|
|
3280
|
+
@media (hover: hover) {
|
|
3281
|
+
background-color: var(--color-fuchsia-100);
|
|
3282
|
+
}
|
|
3283
|
+
}
|
|
3284
|
+
}
|
|
3199
3285
|
.hover\:bg-fuchsia-600 {
|
|
3200
3286
|
&:hover {
|
|
3201
3287
|
@media (hover: hover) {
|
|
@@ -3532,17 +3618,17 @@
|
|
|
3532
3618
|
}
|
|
3533
3619
|
}
|
|
3534
3620
|
}
|
|
3535
|
-
.hover\:
|
|
3621
|
+
.hover\:underline {
|
|
3536
3622
|
&:hover {
|
|
3537
3623
|
@media (hover: hover) {
|
|
3538
|
-
|
|
3624
|
+
text-decoration-line: underline;
|
|
3539
3625
|
}
|
|
3540
3626
|
}
|
|
3541
3627
|
}
|
|
3542
|
-
.hover\:
|
|
3628
|
+
.hover\:opacity-90 {
|
|
3543
3629
|
&:hover {
|
|
3544
3630
|
@media (hover: hover) {
|
|
3545
|
-
|
|
3631
|
+
opacity: 90%;
|
|
3546
3632
|
}
|
|
3547
3633
|
}
|
|
3548
3634
|
}
|
|
@@ -4227,6 +4313,11 @@
|
|
|
4227
4313
|
flex-direction: row;
|
|
4228
4314
|
}
|
|
4229
4315
|
}
|
|
4316
|
+
.md\:items-center {
|
|
4317
|
+
@media (width >= 48rem) {
|
|
4318
|
+
align-items: center;
|
|
4319
|
+
}
|
|
4320
|
+
}
|
|
4230
4321
|
.md\:gap-10 {
|
|
4231
4322
|
@media (width >= 48rem) {
|
|
4232
4323
|
gap: calc(var(--spacing) * 10);
|
|
@@ -4704,6 +4795,14 @@
|
|
|
4704
4795
|
background-color: var(--color-cyan-600);
|
|
4705
4796
|
}
|
|
4706
4797
|
}
|
|
4798
|
+
.dark\:bg-fuchsia-900\/20 {
|
|
4799
|
+
&:where(.dark, .dark *) {
|
|
4800
|
+
background-color: color-mix(in srgb, oklch(40.1% 0.17 325.612) 20%, transparent);
|
|
4801
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4802
|
+
background-color: color-mix(in oklab, var(--color-fuchsia-900) 20%, transparent);
|
|
4803
|
+
}
|
|
4804
|
+
}
|
|
4805
|
+
}
|
|
4707
4806
|
.dark\:bg-fuchsia-900\/40 {
|
|
4708
4807
|
&:where(.dark, .dark *) {
|
|
4709
4808
|
background-color: color-mix(in srgb, oklch(40.1% 0.17 325.612) 40%, transparent);
|
|
@@ -4805,6 +4904,14 @@
|
|
|
4805
4904
|
background-color: var(--color-green-900);
|
|
4806
4905
|
}
|
|
4807
4906
|
}
|
|
4907
|
+
.dark\:bg-green-900\/20 {
|
|
4908
|
+
&:where(.dark, .dark *) {
|
|
4909
|
+
background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 20%, transparent);
|
|
4910
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4911
|
+
background-color: color-mix(in oklab, var(--color-green-900) 20%, transparent);
|
|
4912
|
+
}
|
|
4913
|
+
}
|
|
4914
|
+
}
|
|
4808
4915
|
.dark\:bg-green-900\/30 {
|
|
4809
4916
|
&:where(.dark, .dark *) {
|
|
4810
4917
|
background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 30%, transparent);
|
|
@@ -4854,6 +4961,14 @@
|
|
|
4854
4961
|
background-color: var(--color-orange-900);
|
|
4855
4962
|
}
|
|
4856
4963
|
}
|
|
4964
|
+
.dark\:bg-orange-900\/50 {
|
|
4965
|
+
&:where(.dark, .dark *) {
|
|
4966
|
+
background-color: color-mix(in srgb, oklch(40.8% 0.123 38.172) 50%, transparent);
|
|
4967
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4968
|
+
background-color: color-mix(in oklab, var(--color-orange-900) 50%, transparent);
|
|
4969
|
+
}
|
|
4970
|
+
}
|
|
4971
|
+
}
|
|
4857
4972
|
.dark\:bg-purple-600 {
|
|
4858
4973
|
&:where(.dark, .dark *) {
|
|
4859
4974
|
background-color: var(--color-purple-600);
|
|
@@ -4944,6 +5059,66 @@
|
|
|
4944
5059
|
background-color: var(--color-yellow-200);
|
|
4945
5060
|
}
|
|
4946
5061
|
}
|
|
5062
|
+
.dark\:from-blue-900\/20 {
|
|
5063
|
+
&:where(.dark, .dark *) {
|
|
5064
|
+
--tw-gradient-from: color-mix(in srgb, oklch(37.9% 0.146 265.522) 20%, transparent);
|
|
5065
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
5066
|
+
--tw-gradient-from: color-mix(in oklab, var(--color-blue-900) 20%, transparent);
|
|
5067
|
+
}
|
|
5068
|
+
--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));
|
|
5069
|
+
}
|
|
5070
|
+
}
|
|
5071
|
+
.dark\:from-gray-800 {
|
|
5072
|
+
&:where(.dark, .dark *) {
|
|
5073
|
+
--tw-gradient-from: var(--color-gray-800);
|
|
5074
|
+
--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));
|
|
5075
|
+
}
|
|
5076
|
+
}
|
|
5077
|
+
.dark\:from-green-900\/20 {
|
|
5078
|
+
&:where(.dark, .dark *) {
|
|
5079
|
+
--tw-gradient-from: color-mix(in srgb, oklch(39.3% 0.095 152.535) 20%, transparent);
|
|
5080
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
5081
|
+
--tw-gradient-from: color-mix(in oklab, var(--color-green-900) 20%, transparent);
|
|
5082
|
+
}
|
|
5083
|
+
--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));
|
|
5084
|
+
}
|
|
5085
|
+
}
|
|
5086
|
+
.dark\:from-purple-900\/20 {
|
|
5087
|
+
&:where(.dark, .dark *) {
|
|
5088
|
+
--tw-gradient-from: color-mix(in srgb, oklch(38.1% 0.176 304.987) 20%, transparent);
|
|
5089
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
5090
|
+
--tw-gradient-from: color-mix(in oklab, var(--color-purple-900) 20%, transparent);
|
|
5091
|
+
}
|
|
5092
|
+
--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));
|
|
5093
|
+
}
|
|
5094
|
+
}
|
|
5095
|
+
.dark\:to-blue-800\/20 {
|
|
5096
|
+
&:where(.dark, .dark *) {
|
|
5097
|
+
--tw-gradient-to: color-mix(in srgb, oklch(42.4% 0.199 265.638) 20%, transparent);
|
|
5098
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
5099
|
+
--tw-gradient-to: color-mix(in oklab, var(--color-blue-800) 20%, transparent);
|
|
5100
|
+
}
|
|
5101
|
+
--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));
|
|
5102
|
+
}
|
|
5103
|
+
}
|
|
5104
|
+
.dark\:to-green-800\/20 {
|
|
5105
|
+
&:where(.dark, .dark *) {
|
|
5106
|
+
--tw-gradient-to: color-mix(in srgb, oklch(44.8% 0.119 151.328) 20%, transparent);
|
|
5107
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
5108
|
+
--tw-gradient-to: color-mix(in oklab, var(--color-green-800) 20%, transparent);
|
|
5109
|
+
}
|
|
5110
|
+
--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));
|
|
5111
|
+
}
|
|
5112
|
+
}
|
|
5113
|
+
.dark\:to-purple-800\/20 {
|
|
5114
|
+
&:where(.dark, .dark *) {
|
|
5115
|
+
--tw-gradient-to: color-mix(in srgb, oklch(43.8% 0.218 303.724) 20%, transparent);
|
|
5116
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
5117
|
+
--tw-gradient-to: color-mix(in oklab, var(--color-purple-800) 20%, transparent);
|
|
5118
|
+
}
|
|
5119
|
+
--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));
|
|
5120
|
+
}
|
|
5121
|
+
}
|
|
4947
5122
|
.dark\:fill-gray-300 {
|
|
4948
5123
|
&:where(.dark, .dark *) {
|
|
4949
5124
|
fill: var(--color-gray-300);
|
|
@@ -4954,6 +5129,11 @@
|
|
|
4954
5129
|
color: var(--color-black);
|
|
4955
5130
|
}
|
|
4956
5131
|
}
|
|
5132
|
+
.dark\:text-blue-100 {
|
|
5133
|
+
&:where(.dark, .dark *) {
|
|
5134
|
+
color: var(--color-blue-100);
|
|
5135
|
+
}
|
|
5136
|
+
}
|
|
4957
5137
|
.dark\:text-blue-200 {
|
|
4958
5138
|
&:where(.dark, .dark *) {
|
|
4959
5139
|
color: var(--color-blue-200);
|
|
@@ -5090,11 +5270,21 @@
|
|
|
5090
5270
|
color: var(--color-orange-200);
|
|
5091
5271
|
}
|
|
5092
5272
|
}
|
|
5273
|
+
.dark\:text-orange-300 {
|
|
5274
|
+
&:where(.dark, .dark *) {
|
|
5275
|
+
color: var(--color-orange-300);
|
|
5276
|
+
}
|
|
5277
|
+
}
|
|
5093
5278
|
.dark\:text-orange-400 {
|
|
5094
5279
|
&:where(.dark, .dark *) {
|
|
5095
5280
|
color: var(--color-orange-400);
|
|
5096
5281
|
}
|
|
5097
5282
|
}
|
|
5283
|
+
.dark\:text-purple-100 {
|
|
5284
|
+
&:where(.dark, .dark *) {
|
|
5285
|
+
color: var(--color-purple-100);
|
|
5286
|
+
}
|
|
5287
|
+
}
|
|
5098
5288
|
.dark\:text-purple-300 {
|
|
5099
5289
|
&:where(.dark, .dark *) {
|
|
5100
5290
|
color: var(--color-purple-300);
|
|
@@ -5140,6 +5330,11 @@
|
|
|
5140
5330
|
color: var(--color-white);
|
|
5141
5331
|
}
|
|
5142
5332
|
}
|
|
5333
|
+
.dark\:text-yellow-400 {
|
|
5334
|
+
&:where(.dark, .dark *) {
|
|
5335
|
+
color: var(--color-yellow-400);
|
|
5336
|
+
}
|
|
5337
|
+
}
|
|
5143
5338
|
.dark\:placeholder-gray-400 {
|
|
5144
5339
|
&:where(.dark, .dark *) {
|
|
5145
5340
|
&::placeholder {
|
|
@@ -5200,6 +5395,15 @@
|
|
|
5200
5395
|
}
|
|
5201
5396
|
}
|
|
5202
5397
|
}
|
|
5398
|
+
.dark\:group-hover\:text-gray-100 {
|
|
5399
|
+
&:where(.dark, .dark *) {
|
|
5400
|
+
&:is(:where(.group):hover *) {
|
|
5401
|
+
@media (hover: hover) {
|
|
5402
|
+
color: var(--color-gray-100);
|
|
5403
|
+
}
|
|
5404
|
+
}
|
|
5405
|
+
}
|
|
5406
|
+
}
|
|
5203
5407
|
.dark\:group-hover\:text-gray-500 {
|
|
5204
5408
|
&:where(.dark, .dark *) {
|
|
5205
5409
|
&:is(:where(.group):hover *) {
|
|
@@ -5360,6 +5564,18 @@
|
|
|
5360
5564
|
}
|
|
5361
5565
|
}
|
|
5362
5566
|
}
|
|
5567
|
+
.dark\:hover\:bg-fuchsia-900\/40 {
|
|
5568
|
+
&:where(.dark, .dark *) {
|
|
5569
|
+
&:hover {
|
|
5570
|
+
@media (hover: hover) {
|
|
5571
|
+
background-color: color-mix(in srgb, oklch(40.1% 0.17 325.612) 40%, transparent);
|
|
5572
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
5573
|
+
background-color: color-mix(in oklab, var(--color-fuchsia-900) 40%, transparent);
|
|
5574
|
+
}
|
|
5575
|
+
}
|
|
5576
|
+
}
|
|
5577
|
+
}
|
|
5578
|
+
}
|
|
5363
5579
|
.dark\:hover\:bg-gray-200 {
|
|
5364
5580
|
&:where(.dark, .dark *) {
|
|
5365
5581
|
&:hover {
|
|
@@ -5447,6 +5663,18 @@
|
|
|
5447
5663
|
}
|
|
5448
5664
|
}
|
|
5449
5665
|
}
|
|
5666
|
+
.dark\:hover\:bg-green-900\/40 {
|
|
5667
|
+
&:where(.dark, .dark *) {
|
|
5668
|
+
&:hover {
|
|
5669
|
+
@media (hover: hover) {
|
|
5670
|
+
background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 40%, transparent);
|
|
5671
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
5672
|
+
background-color: color-mix(in oklab, var(--color-green-900) 40%, transparent);
|
|
5673
|
+
}
|
|
5674
|
+
}
|
|
5675
|
+
}
|
|
5676
|
+
}
|
|
5677
|
+
}
|
|
5450
5678
|
.dark\:hover\:bg-indigo-700 {
|
|
5451
5679
|
&:where(.dark, .dark *) {
|
|
5452
5680
|
&:hover {
|
|
@@ -6146,6 +6374,35 @@
|
|
|
6146
6374
|
overflow-x: auto;
|
|
6147
6375
|
padding: 1em;
|
|
6148
6376
|
}
|
|
6377
|
+
.tool-description pre {
|
|
6378
|
+
background-color: #f8fafc !important;
|
|
6379
|
+
color: #1f2937 !important;
|
|
6380
|
+
border: 1px solid #e2e8f0;
|
|
6381
|
+
border-radius: 0.5rem;
|
|
6382
|
+
padding: 0.75rem 1rem;
|
|
6383
|
+
margin: 0.75rem 0;
|
|
6384
|
+
overflow-x: auto;
|
|
6385
|
+
}
|
|
6386
|
+
.tool-description code {
|
|
6387
|
+
color: inherit !important;
|
|
6388
|
+
}
|
|
6389
|
+
.tool-description code.hljs {
|
|
6390
|
+
background: transparent !important;
|
|
6391
|
+
padding: 0;
|
|
6392
|
+
font-size: 0.85em;
|
|
6393
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
6394
|
+
}
|
|
6395
|
+
.dark .tool-description pre {
|
|
6396
|
+
background-color: #1f2937 !important;
|
|
6397
|
+
border-color: #374151;
|
|
6398
|
+
color: #e5e7eb !important;
|
|
6399
|
+
}
|
|
6400
|
+
.dark .tool-description code {
|
|
6401
|
+
color: inherit !important;
|
|
6402
|
+
}
|
|
6403
|
+
.dark .tool-description code.hljs {
|
|
6404
|
+
color: #e5e7eb;
|
|
6405
|
+
}
|
|
6149
6406
|
.message pre {
|
|
6150
6407
|
max-width: 100%;
|
|
6151
6408
|
min-width: auto;
|
|
@@ -6344,21 +6601,33 @@
|
|
|
6344
6601
|
.message pre {
|
|
6345
6602
|
max-width: 500px !important;
|
|
6346
6603
|
}
|
|
6604
|
+
.has-iframes {
|
|
6605
|
+
min-width: 640px;
|
|
6606
|
+
}
|
|
6347
6607
|
}
|
|
6348
6608
|
@media (min-width: 768px) {
|
|
6349
6609
|
.message pre {
|
|
6350
6610
|
max-width: 600px !important;
|
|
6351
6611
|
}
|
|
6612
|
+
.has-iframes {
|
|
6613
|
+
min-width: 640px;
|
|
6614
|
+
}
|
|
6352
6615
|
}
|
|
6353
6616
|
@media (min-width: 1024px) {
|
|
6354
6617
|
.message pre, .message .prose pre {
|
|
6355
6618
|
max-width: 700px !important;
|
|
6356
6619
|
}
|
|
6620
|
+
.has-iframes {
|
|
6621
|
+
min-width: 740px;
|
|
6622
|
+
}
|
|
6357
6623
|
}
|
|
6358
6624
|
@media (min-width: 1280px) {
|
|
6359
6625
|
.message pre, .message .prose pre {
|
|
6360
6626
|
max-width: 800px !important;
|
|
6361
6627
|
}
|
|
6628
|
+
.has-iframes {
|
|
6629
|
+
min-width: 840px;
|
|
6630
|
+
}
|
|
6362
6631
|
}
|
|
6363
6632
|
}
|
|
6364
6633
|
@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 = {
|