llms-py 3.0.14__py3-none-any.whl → 3.0.16__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/threadStore.mjs +10 -3
- llms/extensions/computer/README.md +96 -0
- llms/extensions/computer/__init__.py +59 -0
- llms/extensions/{computer_use → computer}/bash.py +2 -2
- llms/extensions/{computer_use → computer}/edit.py +10 -14
- llms/extensions/computer/filesystem.py +542 -0
- llms/extensions/core_tools/__init__.py +0 -38
- llms/extensions/providers/google.py +57 -30
- llms/extensions/skills/LICENSE +202 -0
- llms/extensions/skills/__init__.py +130 -0
- llms/extensions/skills/errors.py +25 -0
- llms/extensions/skills/models.py +39 -0
- llms/extensions/skills/parser.py +178 -0
- llms/extensions/skills/ui/index.mjs +362 -0
- llms/extensions/skills/ui/skills/create-plan/SKILL.md +74 -0
- llms/extensions/skills/validator.py +177 -0
- llms/extensions/system_prompts/ui/index.mjs +6 -10
- llms/extensions/tools/__init__.py +5 -82
- llms/extensions/tools/ui/index.mjs +93 -5
- llms/main.py +215 -35
- llms/ui/ai.mjs +1 -1
- llms/ui/app.css +527 -22
- llms/ui/ctx.mjs +53 -6
- llms/ui/modules/chat/ChatBody.mjs +186 -24
- llms/ui/modules/chat/index.mjs +107 -103
- llms/ui/tailwind.input.css +10 -0
- llms/ui/utils.mjs +25 -1
- {llms_py-3.0.14.dist-info → llms_py-3.0.16.dist-info}/METADATA +1 -1
- {llms_py-3.0.14.dist-info → llms_py-3.0.16.dist-info}/RECORD +37 -27
- {llms_py-3.0.14.dist-info → llms_py-3.0.16.dist-info}/WHEEL +1 -1
- llms/extensions/computer_use/__init__.py +0 -27
- /llms/extensions/{computer_use → computer}/base.py +0 -0
- /llms/extensions/{computer_use → computer}/computer.py +0 -0
- /llms/extensions/{computer_use → computer}/platform.py +0 -0
- /llms/extensions/{computer_use → computer}/run.py +0 -0
- {llms_py-3.0.14.dist-info → llms_py-3.0.16.dist-info}/entry_points.txt +0 -0
- {llms_py-3.0.14.dist-info → llms_py-3.0.16.dist-info}/licenses/LICENSE +0 -0
- {llms_py-3.0.14.dist-info → llms_py-3.0.16.dist-info}/top_level.txt +0 -0
llms/ui/utils.mjs
CHANGED
|
@@ -211,6 +211,19 @@ export function isHtml(s) {
|
|
|
211
211
|
return isHtml
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
+
const htmlEntities = {
|
|
215
|
+
'&': '&',
|
|
216
|
+
'<': '<',
|
|
217
|
+
'>': '>',
|
|
218
|
+
'"': '"',
|
|
219
|
+
"'": '''
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export function encodeHtml(str) {
|
|
223
|
+
if (!str) return ''
|
|
224
|
+
return str.replace(/[&<>"']/g, m => htmlEntities[m]);
|
|
225
|
+
}
|
|
226
|
+
|
|
214
227
|
/**
|
|
215
228
|
* @param {object|array} type
|
|
216
229
|
* @param {'div'|'table'|'thead'|'th'|'tr'|'td'} tag
|
|
@@ -241,6 +254,16 @@ export const nextId = (() => {
|
|
|
241
254
|
}
|
|
242
255
|
})();
|
|
243
256
|
|
|
257
|
+
export function fnv1a(str) {
|
|
258
|
+
let hash = 0x811c9dc5
|
|
259
|
+
for (let i = 0; i < str.length; i++) {
|
|
260
|
+
hash ^= str.charCodeAt(i)
|
|
261
|
+
hash = Math.imul(hash, 0x01000193)
|
|
262
|
+
}
|
|
263
|
+
return hash >>> 0
|
|
264
|
+
}
|
|
265
|
+
export const hashString = fnv1a
|
|
266
|
+
|
|
244
267
|
export function utilsFunctions() {
|
|
245
268
|
return {
|
|
246
269
|
nextId,
|
|
@@ -256,6 +279,7 @@ export function utilsFunctions() {
|
|
|
256
279
|
pluralize,
|
|
257
280
|
isHtml,
|
|
258
281
|
htmlFormatClasses,
|
|
282
|
+
encodeHtml,
|
|
283
|
+
hashString,
|
|
259
284
|
}
|
|
260
285
|
}
|
|
261
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: llms-py
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.16
|
|
4
4
|
Summary: A lightweight CLI tool and OpenAI-compatible server for querying multiple Large Language Model (LLM) providers
|
|
5
5
|
Home-page: https://github.com/ServiceStack/llms
|
|
6
6
|
Author: ServiceStack
|
|
@@ -3,7 +3,7 @@ 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=mce_QW7YCiV0oCNOP2GUCyngkIKIsscf_F9_qFX6bRc,182958
|
|
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
|
|
@@ -12,16 +12,18 @@ llms/extensions/app/__init__.py,sha256=aU8Bfliw--Xj1bsKL3PSoX6MY1ZNgweNyMWS1V_YG
|
|
|
12
12
|
llms/extensions/app/db.py,sha256=DU8YZ25yFsBI-O6msxh2GgzbwaqKqXkAHJLwQKcmFPI,21533
|
|
13
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=
|
|
16
|
-
llms/extensions/
|
|
17
|
-
llms/extensions/
|
|
18
|
-
llms/extensions/
|
|
19
|
-
llms/extensions/
|
|
20
|
-
llms/extensions/
|
|
21
|
-
llms/extensions/
|
|
22
|
-
llms/extensions/
|
|
15
|
+
llms/extensions/app/ui/threadStore.mjs,sha256=QS6mLqysw9Je_ixUKpbhAELGq-As8aFk6Qm_vO5hvUQ,12515
|
|
16
|
+
llms/extensions/computer/README.md,sha256=xGQXMFtTnjOLll9rDeF1b6Msl3uK5UwjvocvW7WCmps,4293
|
|
17
|
+
llms/extensions/computer/__init__.py,sha256=47nBZI4VMAJ0-mU0QCNtiqKRd-0CF9z8BnBsLE1jrQw,1813
|
|
18
|
+
llms/extensions/computer/base.py,sha256=Igio5R6kPQOxIbmpaA7X6j6eC4cpF3jwTTR8rURfp5E,2386
|
|
19
|
+
llms/extensions/computer/bash.py,sha256=-xo67wVAdrqxtXgR7MK-iAkJ4Wne7Dm1JmnuHC2xW8o,5953
|
|
20
|
+
llms/extensions/computer/computer.py,sha256=wehwcrYwi9usCRcziE_loMhWDbVgfjLk_T4_4TZa4W4,19642
|
|
21
|
+
llms/extensions/computer/edit.py,sha256=QluhvRhYSSQJfbih4QyfC4M8W8aVqiOApfYXZgZTI5M,12725
|
|
22
|
+
llms/extensions/computer/filesystem.py,sha256=4k_aq-wDySz1yV7k3ZshKr5q8LGH8gYkXgGDNAr62lc,19703
|
|
23
|
+
llms/extensions/computer/platform.py,sha256=w5ECar8lM4Lag7rTYUQmU7wEWaqCeejNXwwM3CB8ulQ,14866
|
|
24
|
+
llms/extensions/computer/run.py,sha256=ZIcoYyy2cc3IKR_T4yJgx6IUHu2m7UusIJi9Dx1s7dA,1566
|
|
23
25
|
llms/extensions/core_tools/CALCULATOR.md,sha256=pJRtCVF01BgxFrSNh2Ys_lrRi3SFwLgJzAX93AGh93Q,1944
|
|
24
|
-
llms/extensions/core_tools/__init__.py,sha256=
|
|
26
|
+
llms/extensions/core_tools/__init__.py,sha256=w8ovJRgXsvrcL8NF-XOrhuBE1oQXfnSQo-Xu7ww3NQY,21641
|
|
25
27
|
llms/extensions/core_tools/ui/index.mjs,sha256=KycJ2FcQ6BieBY7fjWGxVBGHN6WuFx712OFrO6flXww,31770
|
|
26
28
|
llms/extensions/core_tools/ui/codemirror/codemirror.css,sha256=60lOqXLSZh74b39qxlbdZ4bXIeScnBtG4euWfktvm_M,8720
|
|
27
29
|
llms/extensions/core_tools/ui/codemirror/codemirror.js,sha256=7cA89SlK249o7tVfiEWIiqDEA6ZEWxX4CoZmofVA14s,402008
|
|
@@ -138,27 +140,35 @@ llms/extensions/providers/__init__.py,sha256=C5zOBQEOB2L96rAZdjV42fPVk_dZxSh2Dv3
|
|
|
138
140
|
llms/extensions/providers/anthropic.py,sha256=ey3G9D3drhjzaNTKC8SS_XVSjdi3K7uqYTskmf26Aic,12011
|
|
139
141
|
llms/extensions/providers/cerebras.py,sha256=HaeFW0GwbD6V6Zrrwqyv78kQb0VXg9oHmykvJfIOOYE,1417
|
|
140
142
|
llms/extensions/providers/chutes.py,sha256=5ZrfbqoOhgzKLQy_qULcp4jlvW5WXPR0jP9kN2Jzb9g,6229
|
|
141
|
-
llms/extensions/providers/google.py,sha256=
|
|
143
|
+
llms/extensions/providers/google.py,sha256=rRmpmtSjTM04mZGNyEV2jcDxdDM99GNj_X68dNT1H20,27719
|
|
142
144
|
llms/extensions/providers/nvidia.py,sha256=C6cwqn3EufYDfRIgbc8MDkQNyD6w3c7hbjfYaHJSDik,4279
|
|
143
145
|
llms/extensions/providers/openai.py,sha256=hkE-LVsw6M92_qEbpayuPo17Z1OWKHe7lm2wduLMng8,6138
|
|
144
146
|
llms/extensions/providers/openrouter.py,sha256=5SfCJKo1aGKoDGez6HXYQe9elMMo9sSEDFqqdxamAgA,3330
|
|
145
147
|
llms/extensions/providers/zai.py,sha256=WPJlDxmnjuhxlgWhUXw2MYqgEKYfy14wVQbpQyMMlbU,7736
|
|
148
|
+
llms/extensions/skills/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
149
|
+
llms/extensions/skills/__init__.py,sha256=hnbcXTc578zwxJjY3qq56UZtd-cqqVoNHxHLziOBKw4,4352
|
|
150
|
+
llms/extensions/skills/errors.py,sha256=V4DTFNtzVADDlZ0g7RmoxZRFeG01oaG3zzaPAVdtkfQ,572
|
|
151
|
+
llms/extensions/skills/models.py,sha256=xmRfz8BMeOdzZXhW6MYFjkOVHOKD6bMDynId8aysans,1461
|
|
152
|
+
llms/extensions/skills/parser.py,sha256=Mb4NOtoY3Ip4Nng8ixb26oE8U_Sp5CI3n3l_qxbg1UM,5500
|
|
153
|
+
llms/extensions/skills/validator.py,sha256=te49hTfIPJWcMcLLCApSJ2Ru3lrqVF8ayDXtPEZF9sU,5154
|
|
154
|
+
llms/extensions/skills/ui/index.mjs,sha256=0_7TkyN1T1LH2j3nEz7ek-5RXqKOysEvC2NQ4rSorVE,17189
|
|
155
|
+
llms/extensions/skills/ui/skills/create-plan/SKILL.md,sha256=g_SLyBid2dwj56FBzh87lZGu1t08edLs0plimT2uNzs,2481
|
|
146
156
|
llms/extensions/system_prompts/README.md,sha256=ayr18lnSsGp62bunC6kxkvcSvZki775rbZ-8VoMDQEc,597
|
|
147
157
|
llms/extensions/system_prompts/__init__.py,sha256=TZy1CS2dPkBNBA_Ovf9BlVetZqTt2NgnsrZi6Mtg_C0,1535
|
|
148
|
-
llms/extensions/system_prompts/ui/index.mjs,sha256=
|
|
158
|
+
llms/extensions/system_prompts/ui/index.mjs,sha256=Ec2dXSzEj6RnEuW2U3HxeXK3LTl_lJrVJIayozquoB4,11981
|
|
149
159
|
llms/extensions/system_prompts/ui/prompts.json,sha256=t5DD3bird-87wFa4OlW-bC2wdoYDrVzfyc8TO5OaotI,128489
|
|
150
|
-
llms/extensions/tools/__init__.py,sha256=
|
|
151
|
-
llms/extensions/tools/ui/index.mjs,sha256
|
|
160
|
+
llms/extensions/tools/__init__.py,sha256=PRZe0QMfsOymJ3jTqO0VFppNEWI4f2bYSOImK_YrGQM,2036
|
|
161
|
+
llms/extensions/tools/ui/index.mjs,sha256=4gT0mHKuzcLWe8BmrYeVNS3VMd5Me9CX6Q0A_YLyLck,38633
|
|
152
162
|
llms/ui/App.mjs,sha256=CoUzO9mV__-jV19NKHYIbwHsjWMnO11jyNSbnJhe1gQ,7486
|
|
153
|
-
llms/ui/ai.mjs,sha256=
|
|
154
|
-
llms/ui/app.css,sha256=
|
|
155
|
-
llms/ui/ctx.mjs,sha256=
|
|
163
|
+
llms/ui/ai.mjs,sha256=A5fGDgVa7mRC6aagXkKuXrSM_MlgAF1gsDTWHEZk2No,6541
|
|
164
|
+
llms/ui/app.css,sha256=kKKICFM_85H1BDFdUYJzo93S__1OZcj2cO6zL-4VdJs,209085
|
|
165
|
+
llms/ui/ctx.mjs,sha256=g1mmv87bhKCFyMbAImvX6mArmGliAoGPPupFEaMMf7c,14500
|
|
156
166
|
llms/ui/fav.svg,sha256=_R6MFeXl6wBFT0lqcUxYQIDWgm246YH_3hSTW0oO8qw,734
|
|
157
167
|
llms/ui/index.mjs,sha256=7GMbFyG3L4k6dxSrQYQ0BLzqL976xw5HeaqKco0THHA,4296
|
|
158
168
|
llms/ui/markdown.mjs,sha256=ZeGXxX4_UEUCVkLZzmwXlqWBfReSFzBivdxNu8uSgFk,6648
|
|
159
|
-
llms/ui/tailwind.input.css,sha256=
|
|
169
|
+
llms/ui/tailwind.input.css,sha256=9stg-po5X2-y598_Qw_2rnfRXR2NPjZK--d9xf-tZZE,17277
|
|
160
170
|
llms/ui/typography.css,sha256=6o7pbMIamRVlm2GfzSStpcOG4T5eFCK_WcQ3RIHKAsU,19587
|
|
161
|
-
llms/ui/utils.mjs,sha256=
|
|
171
|
+
llms/ui/utils.mjs,sha256=mYLTe5-CncWos4Y4z-hzvXVESKkTuVHDYTRMRGc6Ssc,7993
|
|
162
172
|
llms/ui/lib/chart.js,sha256=dx8FdDX0Rv6OZtZjr9FQh5h-twFsKjfnb-FvFlQ--cU,196176
|
|
163
173
|
llms/ui/lib/charts.mjs,sha256=OPFAifcA4MPRv8pw6I7glVh7Xccv8guio0k35zPBDIY,926
|
|
164
174
|
llms/ui/lib/color.js,sha256=DDG7Pr-qzJHTPISZNSqP_qJR8UflKHEc_56n6xrBugQ,8273
|
|
@@ -173,12 +183,12 @@ llms/ui/lib/vue.mjs,sha256=75FuLhUTPk19sncwNIrm0BGEL0_Qw298-_v01fPWYoI,542872
|
|
|
173
183
|
llms/ui/modules/icons.mjs,sha256=LGcH0ys0QLS2ZKCO42qHpwPYbBV_EssoWLezU4XZEzU,27751
|
|
174
184
|
llms/ui/modules/layout.mjs,sha256=8pAxs8bedQI3b3eRA9nrfpLZznLmrpp4BZvigYAQjpQ,12572
|
|
175
185
|
llms/ui/modules/model-selector.mjs,sha256=6U4rAZ7vmQELFRQGWk4YEtq02v3lyHdMq6yUOp-ArXg,43184
|
|
176
|
-
llms/ui/modules/chat/ChatBody.mjs,sha256=
|
|
186
|
+
llms/ui/modules/chat/ChatBody.mjs,sha256=Rwyr7JeqBn6LUn-VtHB9qj7kBsLsOr34SbHcK0twIZ0,58118
|
|
177
187
|
llms/ui/modules/chat/SettingsDialog.mjs,sha256=HMBJTwrapKrRIAstIIqp0QlJL5O-ho4hzgvfagPfsX8,19930
|
|
178
|
-
llms/ui/modules/chat/index.mjs,sha256=
|
|
179
|
-
llms_py-3.0.
|
|
180
|
-
llms_py-3.0.
|
|
181
|
-
llms_py-3.0.
|
|
182
|
-
llms_py-3.0.
|
|
183
|
-
llms_py-3.0.
|
|
184
|
-
llms_py-3.0.
|
|
188
|
+
llms/ui/modules/chat/index.mjs,sha256=nS_L6G1RSuCybgnA6n-q8Sn3OeSbQWL2iW3-zCIFqJk,39548
|
|
189
|
+
llms_py-3.0.16.dist-info/licenses/LICENSE,sha256=bus9cuAOWeYqBk2OuhSABVV1P4z7hgrEFISpyda_H5w,1532
|
|
190
|
+
llms_py-3.0.16.dist-info/METADATA,sha256=zP_aLsJ0caYROZZ-ch-oyoI0HlS86R4M-ZvY64_OmAg,2195
|
|
191
|
+
llms_py-3.0.16.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
192
|
+
llms_py-3.0.16.dist-info/entry_points.txt,sha256=WswyE7PfnkZMIxboC-MS6flBD6wm-CYU7JSUnMhqMfM,40
|
|
193
|
+
llms_py-3.0.16.dist-info/top_level.txt,sha256=gC7hk9BKSeog8gyg-EM_g2gxm1mKHwFRfK-10BxOsa4,5
|
|
194
|
+
llms_py-3.0.16.dist-info/RECORD,,
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Anthropic's Computer Use Tools
|
|
3
|
-
https://github.com/anthropics/claude-quickstarts/tree/main/computer-use-demo
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
import os
|
|
7
|
-
|
|
8
|
-
from .bash import open, run_bash
|
|
9
|
-
from .computer import computer
|
|
10
|
-
from .edit import edit
|
|
11
|
-
from .platform import get_display_num, get_screen_resolution
|
|
12
|
-
|
|
13
|
-
width, height = get_screen_resolution()
|
|
14
|
-
# set enviroment variables
|
|
15
|
-
os.environ["WIDTH"] = str(width)
|
|
16
|
-
os.environ["HEIGHT"] = str(height)
|
|
17
|
-
os.environ["DISPLAY_NUM"] = str(get_display_num())
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
def install(ctx):
|
|
21
|
-
ctx.register_tool(run_bash, group="computer_use")
|
|
22
|
-
ctx.register_tool(open, group="computer_use")
|
|
23
|
-
ctx.register_tool(edit, group="computer_use")
|
|
24
|
-
ctx.register_tool(computer, group="computer_use")
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
__install__ = install
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|