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/tailwind.input.css
CHANGED
|
@@ -351,6 +351,44 @@
|
|
|
351
351
|
padding: 1em;
|
|
352
352
|
}
|
|
353
353
|
|
|
354
|
+
/* Tool Description Code Blocks - Light Mode by default */
|
|
355
|
+
.tool-description pre {
|
|
356
|
+
background-color: #f8fafc !important;
|
|
357
|
+
color: #1f2937 !important;
|
|
358
|
+
border: 1px solid #e2e8f0;
|
|
359
|
+
border-radius: 0.5rem;
|
|
360
|
+
padding: 0.75rem 1rem;
|
|
361
|
+
margin: 0.75rem 0;
|
|
362
|
+
overflow-x: auto;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.tool-description code {
|
|
366
|
+
color: inherit !important;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.tool-description code.hljs {
|
|
370
|
+
background: transparent !important;
|
|
371
|
+
padding: 0;
|
|
372
|
+
font-size: 0.85em;
|
|
373
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
/* Dark Mode Overrides */
|
|
378
|
+
.dark .tool-description pre {
|
|
379
|
+
background-color: #1f2937 !important;
|
|
380
|
+
border-color: #374151;
|
|
381
|
+
color: #e5e7eb !important;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.dark .tool-description code {
|
|
385
|
+
color: inherit !important;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.dark .tool-description code.hljs {
|
|
389
|
+
color: #e5e7eb;
|
|
390
|
+
}
|
|
391
|
+
|
|
354
392
|
.message pre {
|
|
355
393
|
max-width: 100%;
|
|
356
394
|
min-width: auto;
|
|
@@ -662,12 +700,20 @@
|
|
|
662
700
|
.message pre {
|
|
663
701
|
max-width: 500px !important;
|
|
664
702
|
}
|
|
703
|
+
|
|
704
|
+
.has-iframes {
|
|
705
|
+
min-width: 640px;
|
|
706
|
+
}
|
|
665
707
|
}
|
|
666
708
|
|
|
667
709
|
@media (min-width: 768px) {
|
|
668
710
|
.message pre {
|
|
669
711
|
max-width: 600px !important;
|
|
670
712
|
}
|
|
713
|
+
|
|
714
|
+
.has-iframes {
|
|
715
|
+
min-width: 640px;
|
|
716
|
+
}
|
|
671
717
|
}
|
|
672
718
|
|
|
673
719
|
@media (min-width: 1024px) {
|
|
@@ -676,6 +722,10 @@
|
|
|
676
722
|
.message .prose pre {
|
|
677
723
|
max-width: 700px !important;
|
|
678
724
|
}
|
|
725
|
+
|
|
726
|
+
.has-iframes {
|
|
727
|
+
min-width: 740px;
|
|
728
|
+
}
|
|
679
729
|
}
|
|
680
730
|
|
|
681
731
|
@media (min-width: 1280px) {
|
|
@@ -684,5 +734,9 @@
|
|
|
684
734
|
.message .prose pre {
|
|
685
735
|
max-width: 800px !important;
|
|
686
736
|
}
|
|
737
|
+
|
|
738
|
+
.has-iframes {
|
|
739
|
+
min-width: 840px;
|
|
740
|
+
}
|
|
687
741
|
}
|
|
688
742
|
}
|
llms/ui/utils.mjs
CHANGED
|
@@ -123,6 +123,7 @@ export function tokensTitle(usage) {
|
|
|
123
123
|
return title.join('\n')
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
+
|
|
126
127
|
// Accessible in views via $fmt
|
|
127
128
|
export function utilsFormatters() {
|
|
128
129
|
function relativeTime(timestamp) {
|
|
@@ -202,6 +203,32 @@ export function utilsFormatters() {
|
|
|
202
203
|
}
|
|
203
204
|
}
|
|
204
205
|
|
|
206
|
+
const htmlStartTags = ['<!doctype', '<html', '<head', '<body', '<script', '<style', '<link']
|
|
207
|
+
export function isHtml(s) {
|
|
208
|
+
if (!s || typeof s != 'string') return false
|
|
209
|
+
const lower = s.toLowerCase().trim()
|
|
210
|
+
const isHtml = htmlStartTags.some(tag => lower.startsWith(tag))
|
|
211
|
+
return isHtml
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* @param {object|array} type
|
|
216
|
+
* @param {'div'|'table'|'thead'|'th'|'tr'|'td'} tag
|
|
217
|
+
* @param {number} depth
|
|
218
|
+
* @param {string} cls
|
|
219
|
+
* @param {number} index
|
|
220
|
+
*/
|
|
221
|
+
function htmlFormatClasses(type, tag, depth, cls, index) {
|
|
222
|
+
cls = cls.replace('shadow ring-1 ring-black/5 md:rounded-lg', '')
|
|
223
|
+
if (tag == 'th') {
|
|
224
|
+
cls += ' lowercase'
|
|
225
|
+
}
|
|
226
|
+
if (tag == 'td') {
|
|
227
|
+
cls += ' whitespace-pre-wrap'
|
|
228
|
+
}
|
|
229
|
+
return cls
|
|
230
|
+
}
|
|
231
|
+
|
|
205
232
|
/**
|
|
206
233
|
* Returns an ever-increasing unique integer id.
|
|
207
234
|
*/
|
|
@@ -227,6 +254,8 @@ export function utilsFunctions() {
|
|
|
227
254
|
deepClone,
|
|
228
255
|
toModelInfo,
|
|
229
256
|
pluralize,
|
|
257
|
+
isHtml,
|
|
258
|
+
htmlFormatClasses,
|
|
230
259
|
}
|
|
231
260
|
}
|
|
232
261
|
|
|
@@ -3,18 +3,18 @@ llms/__main__.py,sha256=hrBulHIt3lmPm1BCyAEVtB6DQ0Hvc3gnIddhHCmJasg,151
|
|
|
3
3
|
llms/db.py,sha256=oozp5I5lECVO8oZEFwcZl3ES5mARqWeR1BkoqG5kSqM,11687
|
|
4
4
|
llms/index.html,sha256=nGk1Djtn9p7l6LuKp4Kg0JIB9fCzxtTWXFfmDb4ggpc,1658
|
|
5
5
|
llms/llms.json,sha256=NEr9kJRkUGZ2YZHbWC-haGPlVVL2Qtnx4kKZENGH1wk,11494
|
|
6
|
-
llms/main.py,sha256=
|
|
6
|
+
llms/main.py,sha256=7nEm4UZph9cyswu_28_Vb14CSo3yg6BFhuQxdmIrFXk,169747
|
|
7
7
|
llms/providers-extra.json,sha256=_6DmGBiQY9LM6_Y0zOiObYn7ba4g3akSNQfmHcYlENc,11101
|
|
8
8
|
llms/providers.json,sha256=yjhDurlwo70xqfV0HNLiZaCpw3WvtIgkjoLahQIKX2w,282530
|
|
9
9
|
llms/extensions/analytics/ui/index.mjs,sha256=m1XwaqYCLwK267JAUCAltkN_nOXep0GxfpvGNS5i4_w,69547
|
|
10
10
|
llms/extensions/app/README.md,sha256=TKoblZpHlheLCh_dfXOxqTc5OvxlgMBa-vKo8Hqb2gg,1370
|
|
11
11
|
llms/extensions/app/__init__.py,sha256=aU8Bfliw--Xj1bsKL3PSoX6MY1ZNgweNyMWS1V_YG4s,20855
|
|
12
12
|
llms/extensions/app/db.py,sha256=CqpHReXXjrLXXNxINo-wsnBJenKZVVHKlWlhtXFWj08,21503
|
|
13
|
-
llms/extensions/app/ui/Recents.mjs,sha256=
|
|
13
|
+
llms/extensions/app/ui/Recents.mjs,sha256=2ypAKUp9_Oqcive1nUWZ8I2PQTBomBg_Pkjygi4oPgs,9261
|
|
14
14
|
llms/extensions/app/ui/index.mjs,sha256=sB9176LLNuKFsZ28yL-tROA6J4xePNtvxtSrzFcinRo,13271
|
|
15
|
-
llms/extensions/app/ui/threadStore.mjs,sha256=
|
|
15
|
+
llms/extensions/app/ui/threadStore.mjs,sha256=CLlD-1HBO1yhZBHLfL0ZdA4quT4R07qr1JW4a8igVNc,12287
|
|
16
16
|
llms/extensions/core_tools/CALCULATOR.md,sha256=pJRtCVF01BgxFrSNh2Ys_lrRi3SFwLgJzAX93AGh93Q,1944
|
|
17
|
-
llms/extensions/core_tools/__init__.py,sha256=
|
|
17
|
+
llms/extensions/core_tools/__init__.py,sha256=Y5ZlcSg5yVXxIGX_FVbDcHyeXx3ex_rzRQ2hli6Nk38,23280
|
|
18
18
|
llms/extensions/core_tools/ui/index.mjs,sha256=KycJ2FcQ6BieBY7fjWGxVBGHN6WuFx712OFrO6flXww,31770
|
|
19
19
|
llms/extensions/core_tools/ui/codemirror/codemirror.css,sha256=60lOqXLSZh74b39qxlbdZ4bXIeScnBtG4euWfktvm_M,8720
|
|
20
20
|
llms/extensions/core_tools/ui/codemirror/codemirror.js,sha256=7cA89SlK249o7tVfiEWIiqDEA6ZEWxX4CoZmofVA14s,402008
|
|
@@ -131,7 +131,7 @@ llms/extensions/providers/__init__.py,sha256=C5zOBQEOB2L96rAZdjV42fPVk_dZxSh2Dv3
|
|
|
131
131
|
llms/extensions/providers/anthropic.py,sha256=LAOdpa_cP1zBUvSQ-ct3kVjRga-nPJ1U_KBb99N4IEk,10429
|
|
132
132
|
llms/extensions/providers/cerebras.py,sha256=HaeFW0GwbD6V6Zrrwqyv78kQb0VXg9oHmykvJfIOOYE,1417
|
|
133
133
|
llms/extensions/providers/chutes.py,sha256=5ZrfbqoOhgzKLQy_qULcp4jlvW5WXPR0jP9kN2Jzb9g,6229
|
|
134
|
-
llms/extensions/providers/google.py,sha256=
|
|
134
|
+
llms/extensions/providers/google.py,sha256=9P90bEefRA18tpjfEuAz1T5YpwzdOngrTFhw-LI3eXg,24434
|
|
135
135
|
llms/extensions/providers/nvidia.py,sha256=C6cwqn3EufYDfRIgbc8MDkQNyD6w3c7hbjfYaHJSDik,4279
|
|
136
136
|
llms/extensions/providers/openai.py,sha256=hkE-LVsw6M92_qEbpayuPo17Z1OWKHe7lm2wduLMng8,6138
|
|
137
137
|
llms/extensions/providers/openrouter.py,sha256=5SfCJKo1aGKoDGez6HXYQe9elMMo9sSEDFqqdxamAgA,3330
|
|
@@ -140,18 +140,18 @@ llms/extensions/system_prompts/README.md,sha256=ayr18lnSsGp62bunC6kxkvcSvZki775r
|
|
|
140
140
|
llms/extensions/system_prompts/__init__.py,sha256=TZy1CS2dPkBNBA_Ovf9BlVetZqTt2NgnsrZi6Mtg_C0,1535
|
|
141
141
|
llms/extensions/system_prompts/ui/index.mjs,sha256=_pVCreAebSzE9dzcHF2kiYODwP-fDHCqtUQB-X5Io9Q,12107
|
|
142
142
|
llms/extensions/system_prompts/ui/prompts.json,sha256=t5DD3bird-87wFa4OlW-bC2wdoYDrVzfyc8TO5OaotI,128489
|
|
143
|
-
llms/extensions/tools/__init__.py,sha256=
|
|
144
|
-
llms/extensions/tools/ui/index.mjs,sha256=
|
|
145
|
-
llms/ui/App.mjs,sha256=
|
|
146
|
-
llms/ui/ai.mjs,sha256=
|
|
147
|
-
llms/ui/app.css,sha256=
|
|
148
|
-
llms/ui/ctx.mjs,sha256=
|
|
143
|
+
llms/extensions/tools/__init__.py,sha256=u76604Cn_sRFQRqeA_pkVEty27V688Mt9Z7Kh63yDr8,4825
|
|
144
|
+
llms/extensions/tools/ui/index.mjs,sha256=IbGB2FQJ5VL4a8arwoR9C79vUCNrz8VIyQnHZ4vxU9o,34486
|
|
145
|
+
llms/ui/App.mjs,sha256=CoUzO9mV__-jV19NKHYIbwHsjWMnO11jyNSbnJhe1gQ,7486
|
|
146
|
+
llms/ui/ai.mjs,sha256=WRt2u5w8TdY2u9_rQqp7Ms7MOrWfKSLT4Z5rDS6VAZ8,6540
|
|
147
|
+
llms/ui/app.css,sha256=vfXErYVdVlE3pL8oZ-2G_OC-_reJzmaL0p91EVv48uo,186490
|
|
148
|
+
llms/ui/ctx.mjs,sha256=X4scgXEQ9bMUfQl36sM4A3o2Ufad3LRwItxfmSu1xwc,12838
|
|
149
149
|
llms/ui/fav.svg,sha256=_R6MFeXl6wBFT0lqcUxYQIDWgm246YH_3hSTW0oO8qw,734
|
|
150
|
-
llms/ui/index.mjs,sha256=
|
|
150
|
+
llms/ui/index.mjs,sha256=7GMbFyG3L4k6dxSrQYQ0BLzqL976xw5HeaqKco0THHA,4296
|
|
151
151
|
llms/ui/markdown.mjs,sha256=ZeGXxX4_UEUCVkLZzmwXlqWBfReSFzBivdxNu8uSgFk,6648
|
|
152
|
-
llms/ui/tailwind.input.css,sha256=
|
|
152
|
+
llms/ui/tailwind.input.css,sha256=xOrT0m8HCZRHhnPv4K43HyQCTO_0SpP-tYvxpP8jzYY,17027
|
|
153
153
|
llms/ui/typography.css,sha256=6o7pbMIamRVlm2GfzSStpcOG4T5eFCK_WcQ3RIHKAsU,19587
|
|
154
|
-
llms/ui/utils.mjs,sha256=
|
|
154
|
+
llms/ui/utils.mjs,sha256=lurZdnTk4ngR7ziWKeUNvpWVmBg2V6phqngBYWcCL5U,7483
|
|
155
155
|
llms/ui/lib/chart.js,sha256=dx8FdDX0Rv6OZtZjr9FQh5h-twFsKjfnb-FvFlQ--cU,196176
|
|
156
156
|
llms/ui/lib/charts.mjs,sha256=OPFAifcA4MPRv8pw6I7glVh7Xccv8guio0k35zPBDIY,926
|
|
157
157
|
llms/ui/lib/color.js,sha256=DDG7Pr-qzJHTPISZNSqP_qJR8UflKHEc_56n6xrBugQ,8273
|
|
@@ -166,12 +166,12 @@ llms/ui/lib/vue.mjs,sha256=75FuLhUTPk19sncwNIrm0BGEL0_Qw298-_v01fPWYoI,542872
|
|
|
166
166
|
llms/ui/modules/icons.mjs,sha256=LGcH0ys0QLS2ZKCO42qHpwPYbBV_EssoWLezU4XZEzU,27751
|
|
167
167
|
llms/ui/modules/layout.mjs,sha256=8pAxs8bedQI3b3eRA9nrfpLZznLmrpp4BZvigYAQjpQ,12572
|
|
168
168
|
llms/ui/modules/model-selector.mjs,sha256=6U4rAZ7vmQELFRQGWk4YEtq02v3lyHdMq6yUOp-ArXg,43184
|
|
169
|
-
llms/ui/modules/chat/ChatBody.mjs,sha256=
|
|
169
|
+
llms/ui/modules/chat/ChatBody.mjs,sha256=8k81r1HTxrkmLsG7xvDmYMInThiZ37xVQBfld1tLWW0,50366
|
|
170
170
|
llms/ui/modules/chat/SettingsDialog.mjs,sha256=HMBJTwrapKrRIAstIIqp0QlJL5O-ho4hzgvfagPfsX8,19930
|
|
171
|
-
llms/ui/modules/chat/index.mjs,sha256=
|
|
172
|
-
llms_py-3.0.
|
|
173
|
-
llms_py-3.0.
|
|
174
|
-
llms_py-3.0.
|
|
175
|
-
llms_py-3.0.
|
|
176
|
-
llms_py-3.0.
|
|
177
|
-
llms_py-3.0.
|
|
171
|
+
llms/ui/modules/chat/index.mjs,sha256=lfSbERMaM3bLsKhdJJPWwL4-FGr8U_ftlvqW5vC3T1s,39762
|
|
172
|
+
llms_py-3.0.9.dist-info/licenses/LICENSE,sha256=bus9cuAOWeYqBk2OuhSABVV1P4z7hgrEFISpyda_H5w,1532
|
|
173
|
+
llms_py-3.0.9.dist-info/METADATA,sha256=6PE0ikoQqoxK1TDYoo0iELmrYStuzIUewiHlmb3kZFY,2191
|
|
174
|
+
llms_py-3.0.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
175
|
+
llms_py-3.0.9.dist-info/entry_points.txt,sha256=WswyE7PfnkZMIxboC-MS6flBD6wm-CYU7JSUnMhqMfM,40
|
|
176
|
+
llms_py-3.0.9.dist-info/top_level.txt,sha256=gC7hk9BKSeog8gyg-EM_g2gxm1mKHwFRfK-10BxOsa4,5
|
|
177
|
+
llms_py-3.0.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|