llms-py 3.0.0b6__py3-none-any.whl → 3.0.0b7__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/__pycache__/main.cpython-314.pyc +0 -0
- llms/{ui/modules/analytics.mjs → extensions/analytics/ui/index.mjs} +4 -2
- llms/extensions/core_tools/__init__.py +358 -0
- llms/extensions/core_tools/__pycache__/__init__.cpython-314.pyc +0 -0
- llms/extensions/gallery/__init__.py +61 -0
- llms/extensions/gallery/__pycache__/__init__.cpython-314.pyc +0 -0
- llms/extensions/gallery/__pycache__/db.cpython-314.pyc +0 -0
- llms/extensions/gallery/db.py +298 -0
- llms/extensions/gallery/ui/index.mjs +480 -0
- llms/extensions/providers/__init__.py +18 -0
- llms/extensions/providers/__pycache__/__init__.cpython-314.pyc +0 -0
- llms/{providers → extensions/providers}/__pycache__/anthropic.cpython-314.pyc +0 -0
- llms/extensions/providers/__pycache__/chutes.cpython-314.pyc +0 -0
- llms/extensions/providers/__pycache__/google.cpython-314.pyc +0 -0
- llms/{providers → extensions/providers}/__pycache__/nvidia.cpython-314.pyc +0 -0
- llms/{providers → extensions/providers}/__pycache__/openai.cpython-314.pyc +0 -0
- llms/extensions/providers/__pycache__/openrouter.cpython-314.pyc +0 -0
- llms/{providers → extensions/providers}/anthropic.py +1 -4
- llms/{providers → extensions/providers}/chutes.py +21 -18
- llms/{providers → extensions/providers}/google.py +99 -27
- llms/{providers → extensions/providers}/nvidia.py +6 -8
- llms/{providers → extensions/providers}/openai.py +3 -6
- llms/{providers → extensions/providers}/openrouter.py +12 -10
- llms/extensions/system_prompts/__init__.py +45 -0
- llms/extensions/system_prompts/__pycache__/__init__.cpython-314.pyc +0 -0
- llms/extensions/system_prompts/ui/index.mjs +284 -0
- llms/extensions/system_prompts/ui/prompts.json +1067 -0
- llms/{ui/modules/tools.mjs → extensions/tools/ui/index.mjs} +4 -2
- llms/llms.json +17 -1
- llms/main.py +381 -170
- llms/providers-extra.json +0 -32
- llms/ui/App.mjs +17 -18
- llms/ui/ai.mjs +10 -3
- llms/ui/app.css +1553 -24
- llms/ui/ctx.mjs +70 -12
- llms/ui/index.mjs +13 -8
- llms/ui/modules/chat/ChatBody.mjs +11 -248
- llms/ui/modules/chat/HomeTools.mjs +254 -0
- llms/ui/modules/chat/SettingsDialog.mjs +1 -1
- llms/ui/modules/chat/index.mjs +278 -174
- llms/ui/modules/layout.mjs +2 -26
- llms/ui/modules/model-selector.mjs +1 -1
- llms/ui/modules/threads/index.mjs +5 -11
- llms/ui/modules/threads/threadStore.mjs +56 -2
- llms/ui/utils.mjs +21 -3
- {llms_py-3.0.0b6.dist-info → llms_py-3.0.0b7.dist-info}/METADATA +1 -1
- llms_py-3.0.0b7.dist-info/RECORD +80 -0
- llms/providers/__pycache__/chutes.cpython-314.pyc +0 -0
- llms/providers/__pycache__/google.cpython-314.pyc +0 -0
- llms/providers/__pycache__/openrouter.cpython-314.pyc +0 -0
- llms_py-3.0.0b6.dist-info/RECORD +0 -66
- {llms_py-3.0.0b6.dist-info → llms_py-3.0.0b7.dist-info}/WHEEL +0 -0
- {llms_py-3.0.0b6.dist-info → llms_py-3.0.0b7.dist-info}/entry_points.txt +0 -0
- {llms_py-3.0.0b6.dist-info → llms_py-3.0.0b7.dist-info}/licenses/LICENSE +0 -0
- {llms_py-3.0.0b6.dist-info → llms_py-3.0.0b7.dist-info}/top_level.txt +0 -0
|
@@ -135,7 +135,7 @@ const GroupedThreads = {
|
|
|
135
135
|
const ThreadsSidebar = {
|
|
136
136
|
template: `
|
|
137
137
|
<div class="flex flex-col h-full">
|
|
138
|
-
<Brand
|
|
138
|
+
<Brand />
|
|
139
139
|
<!-- Thread List -->
|
|
140
140
|
<div class="flex-1 overflow-y-auto">
|
|
141
141
|
<div v-if="isLoading" class="p-4 text-center text-gray-500 dark:text-gray-400">
|
|
@@ -169,8 +169,7 @@ const ThreadsSidebar = {
|
|
|
169
169
|
</div>
|
|
170
170
|
</div>
|
|
171
171
|
`,
|
|
172
|
-
|
|
173
|
-
setup(props, { emit }) {
|
|
172
|
+
setup(props) {
|
|
174
173
|
const ctx = inject('ctx')
|
|
175
174
|
const ai = ctx.ai
|
|
176
175
|
const router = useRouter()
|
|
@@ -191,7 +190,6 @@ const ThreadsSidebar = {
|
|
|
191
190
|
|
|
192
191
|
const selectThread = async (threadId) => {
|
|
193
192
|
router.push(`${ai.base}/c/${threadId}`)
|
|
194
|
-
emit('thread-selected')
|
|
195
193
|
}
|
|
196
194
|
|
|
197
195
|
const deleteThread = async (threadId) => {
|
|
@@ -205,20 +203,16 @@ const ThreadsSidebar = {
|
|
|
205
203
|
}
|
|
206
204
|
|
|
207
205
|
const createNewThread = async () => {
|
|
208
|
-
|
|
209
|
-
router.push(`${ai.base}/c/${newThread.id}`)
|
|
210
|
-
emit('thread-selected')
|
|
206
|
+
ctx.threads.startNewThread({ title: 'New Chat', model: ctx.chat.getSelectedModel() })
|
|
211
207
|
}
|
|
212
208
|
|
|
213
209
|
const goToInitialState = () => {
|
|
214
210
|
clearCurrentThread()
|
|
215
|
-
|
|
216
|
-
emit('thread-selected')
|
|
211
|
+
ctx.to(`/`)
|
|
217
212
|
}
|
|
218
213
|
|
|
219
214
|
const goToAnalytics = () => {
|
|
220
|
-
|
|
221
|
-
emit('thread-selected')
|
|
215
|
+
ctx.to(`/analytics`)
|
|
222
216
|
}
|
|
223
217
|
|
|
224
218
|
return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ref, computed
|
|
1
|
+
import { ref, computed } from 'vue'
|
|
2
2
|
import { openDB } from 'idb'
|
|
3
3
|
import { nextId } from '../../utils.mjs'
|
|
4
4
|
|
|
@@ -62,7 +62,7 @@ async function logRequest(threadId, model, request, response) {
|
|
|
62
62
|
const lastUserContent = request.messages?.slice().reverse().find(m => m.role === 'user')?.content
|
|
63
63
|
const content = Array.isArray(lastUserContent)
|
|
64
64
|
? lastUserContent.filter(c => c?.text).map(c => c.text).join(' ')
|
|
65
|
-
: lastUserContent
|
|
65
|
+
: lastUserContent || ''
|
|
66
66
|
const title = content.slice(0, 100) + (content.length > 100 ? '...' : '')
|
|
67
67
|
const inputTokens = usage?.prompt_tokens ?? 0
|
|
68
68
|
const outputTokens = usage?.completion_tokens ?? 0
|
|
@@ -117,6 +117,9 @@ async function createThread(args = {}) {
|
|
|
117
117
|
if (!thread.title) {
|
|
118
118
|
thread.title = 'New Chat'
|
|
119
119
|
}
|
|
120
|
+
if (thread.title.length > 200) {
|
|
121
|
+
thread.title = thread.title.slice(0, 200) + '...'
|
|
122
|
+
}
|
|
120
123
|
|
|
121
124
|
ctx.createThreadFilters.forEach(f => f(thread))
|
|
122
125
|
|
|
@@ -541,6 +544,53 @@ async function deleteRequest(requestId) {
|
|
|
541
544
|
await tx.complete
|
|
542
545
|
}
|
|
543
546
|
|
|
547
|
+
function getLatestCachedThread() {
|
|
548
|
+
return threads.value[0]
|
|
549
|
+
}
|
|
550
|
+
async function getLatestThread() {
|
|
551
|
+
await initDB()
|
|
552
|
+
const tx = db.transaction(['threads'], 'readonly')
|
|
553
|
+
const store = tx.objectStore('threads')
|
|
554
|
+
// Open cursor in reverse order (prev = previous/descending)
|
|
555
|
+
const cursor = await store.openCursor(null, 'prev');
|
|
556
|
+
return cursor ? cursor.value : null;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
async function startNewThread({ title, model }) {
|
|
560
|
+
if (!model) {
|
|
561
|
+
console.error('No model selected')
|
|
562
|
+
return
|
|
563
|
+
}
|
|
564
|
+
if (!title) {
|
|
565
|
+
title = 'New Chat'
|
|
566
|
+
}
|
|
567
|
+
const latestThread = getLatestCachedThread()
|
|
568
|
+
|
|
569
|
+
console.log('startNewThread', title, model.name, ctx.router.currentRoute.value?.path, latestThread?.messages?.length)
|
|
570
|
+
ctx.setLayout({ left: 'ThreadsSidebar' })
|
|
571
|
+
|
|
572
|
+
if (latestThread && latestThread.title == title && !latestThread.messages?.length) {
|
|
573
|
+
if (ctx.router.currentRoute.value?.path != `/c/${latestThread.id}`) {
|
|
574
|
+
ctx.to(`/c/${latestThread.id}`)
|
|
575
|
+
}
|
|
576
|
+
return latestThread
|
|
577
|
+
}
|
|
578
|
+
const newThread = await createThread({
|
|
579
|
+
title,
|
|
580
|
+
model: model.name,
|
|
581
|
+
info: ctx.utils.toModelInfo(model),
|
|
582
|
+
})
|
|
583
|
+
|
|
584
|
+
console.log('newThread', newThread, model)
|
|
585
|
+
// Navigate to the new thread URL
|
|
586
|
+
ctx.to(`/c/${newThread.id}`)
|
|
587
|
+
|
|
588
|
+
// Get the thread to check for duplicates
|
|
589
|
+
let thread = await getThread(newThread.id)
|
|
590
|
+
return thread
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
|
|
544
594
|
// Export the store
|
|
545
595
|
export function useThreadStore() {
|
|
546
596
|
return {
|
|
@@ -573,6 +623,10 @@ export function useThreadStore() {
|
|
|
573
623
|
deleteRequest,
|
|
574
624
|
getAllRequestIds,
|
|
575
625
|
getAllThreadIds,
|
|
626
|
+
getLatestThread,
|
|
627
|
+
getLatestCachedThread,
|
|
628
|
+
generateThreadId,
|
|
629
|
+
startNewThread,
|
|
576
630
|
}
|
|
577
631
|
}
|
|
578
632
|
|
llms/ui/utils.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { toRaw } from "vue"
|
|
1
2
|
import { rightPart } from "@servicestack/client"
|
|
2
3
|
|
|
3
4
|
export function toJsonArray(json) {
|
|
@@ -59,7 +60,6 @@ export function serializedClone(obj) {
|
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
|
|
62
|
-
|
|
63
63
|
export function deepClone(o) {
|
|
64
64
|
if (o === null || typeof o !== 'object') return o
|
|
65
65
|
|
|
@@ -73,7 +73,8 @@ export function deepClone(o) {
|
|
|
73
73
|
return structuredClone(o)
|
|
74
74
|
} catch (e) {
|
|
75
75
|
console.warn('structuredClone failed, falling back to JSON:', e)
|
|
76
|
-
console.log(
|
|
76
|
+
console.log(o)
|
|
77
|
+
// console.log(JSON.stringify(o, undefined, 2))
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
|
|
@@ -81,6 +82,14 @@ export function deepClone(o) {
|
|
|
81
82
|
return serializedClone(o)
|
|
82
83
|
}
|
|
83
84
|
|
|
85
|
+
export function toModelInfo(model) {
|
|
86
|
+
if (!model) return undefined
|
|
87
|
+
const props = ['id', 'name', 'provider', 'cost', 'modalities']
|
|
88
|
+
const to = {}
|
|
89
|
+
props.forEach(k => to[k] = toRaw(model[k]))
|
|
90
|
+
return deepClone(to)
|
|
91
|
+
}
|
|
92
|
+
|
|
84
93
|
export function pluralize(word, count) {
|
|
85
94
|
return count === 1 ? word : word + 's'
|
|
86
95
|
}
|
|
@@ -150,6 +159,14 @@ export function utilsFormatters() {
|
|
|
150
159
|
})
|
|
151
160
|
}
|
|
152
161
|
|
|
162
|
+
function shortDate(ts) {
|
|
163
|
+
if (!ts) return ''
|
|
164
|
+
const date = typeof ts === 'number' ? new Date(ts * 1000) : new Date(ts)
|
|
165
|
+
return date.toLocaleDateString(undefined, {
|
|
166
|
+
month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit'
|
|
167
|
+
})
|
|
168
|
+
}
|
|
169
|
+
|
|
153
170
|
|
|
154
171
|
return {
|
|
155
172
|
currFmt: currFmt2,
|
|
@@ -161,6 +178,7 @@ export function utilsFormatters() {
|
|
|
161
178
|
relativeTime,
|
|
162
179
|
time,
|
|
163
180
|
pluralize,
|
|
181
|
+
shortDate,
|
|
164
182
|
}
|
|
165
183
|
}
|
|
166
184
|
|
|
@@ -179,7 +197,6 @@ export const nextId = (() => {
|
|
|
179
197
|
export function utilsFunctions() {
|
|
180
198
|
return {
|
|
181
199
|
nextId,
|
|
182
|
-
deepClone,
|
|
183
200
|
toJsonArray,
|
|
184
201
|
toJsonObject,
|
|
185
202
|
storageArray,
|
|
@@ -188,6 +205,7 @@ export function utilsFunctions() {
|
|
|
188
205
|
fileToDataUri,
|
|
189
206
|
serializedClone,
|
|
190
207
|
deepClone,
|
|
208
|
+
toModelInfo,
|
|
191
209
|
pluralize,
|
|
192
210
|
}
|
|
193
211
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: llms-py
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.0b7
|
|
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
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
llms/__init__.py,sha256=DKwTZDsyYL_wHe7yvLw49Nf8PSgPSyWaeVdotUqSvrQ,84
|
|
2
|
+
llms/__main__.py,sha256=hrBulHIt3lmPm1BCyAEVtB6DQ0Hvc3gnIddhHCmJasg,151
|
|
3
|
+
llms/index.html,sha256=gABCGg8ALHyB8OSH745HXx7U0SrXuNtJry9buUbVDik,2117
|
|
4
|
+
llms/llms.json,sha256=jAPVz6Wj-_VStQPXWHFSO9262rB_Jsa1fx2Tnnhexeg,11094
|
|
5
|
+
llms/main.py,sha256=cbKe-4ElHmfU8e3GeeanKwe_iNyiIeFit4PdSMR2L-A,138490
|
|
6
|
+
llms/providers-extra.json,sha256=w7_5gB0YUPK0PJNeViM7vRDfNGChXUKMHfGHenVxEkM,10165
|
|
7
|
+
llms/providers.json,sha256=mP4vQ37LeRAZCpT3WPO2GZaZ3YsXodXBV5OVbVMBAmo,256222
|
|
8
|
+
llms/__pycache__/__init__.cpython-312.pyc,sha256=lg2oFc0aKgj536NOJxcIpbCpEWi47ptF8NufPphgUUk,204
|
|
9
|
+
llms/__pycache__/__init__.cpython-313.pyc,sha256=DvmykIYAjV4Xjv5NeC70BA0JIX8qtwEWP2dfzmOBrps,173
|
|
10
|
+
llms/__pycache__/__init__.cpython-314.pyc,sha256=9CxeBz41D_-ezno6pIOsnoMAFzdRX2uZjKkBLUm25RQ,206
|
|
11
|
+
llms/__pycache__/__main__.cpython-312.pyc,sha256=fcu9LVl5nfdSzg9HqoKyDGoDvENeIXKkjygN7FENEGE,321
|
|
12
|
+
llms/__pycache__/__main__.cpython-314.pyc,sha256=IFxtGVpJq_3whKuM5Ln7YMweKFNbHVp8M7VSrLK5h2A,324
|
|
13
|
+
llms/__pycache__/llms.cpython-312.pyc,sha256=S5dFI79JdUe2dQW4ogdB-CCNhudQeFaFGcfKxgJGBms,72080
|
|
14
|
+
llms/__pycache__/main.cpython-312.pyc,sha256=HrqApYAiiBmYN73HIx_Hl2-Xm1Gy7I_0zuR5j86qoRM,104940
|
|
15
|
+
llms/__pycache__/main.cpython-313.pyc,sha256=6NQ__SJ2rC9ItFLKLHL5ewb5RqxLzZabwgczA9wZd-w,74814
|
|
16
|
+
llms/__pycache__/main.cpython-314.pyc,sha256=sdT6gQFbLWGduly6za6Js6UktlzqaqBTOZ-98zqUB48,179527
|
|
17
|
+
llms/__pycache__/plugins.cpython-314.pyc,sha256=fer8nTkidG_vQSx80tL2bAvMS0opDom93bewjseFcyg,3560
|
|
18
|
+
llms/extensions/analytics/ui/index.mjs,sha256=lz9V9LZsqzpeX2pFnwViL3qn4nRZ5iAtmEGs_Zcj-JU,74234
|
|
19
|
+
llms/extensions/core_tools/__init__.py,sha256=VTVM69yICL9h7G0mkhknQIu-sCS3isdtBJ5NbDIdWLo,11678
|
|
20
|
+
llms/extensions/core_tools/__pycache__/__init__.cpython-314.pyc,sha256=iNbia3YPk8yozeknF-55IwwBG5yKzbVB9ZCIbyTEWf8,19243
|
|
21
|
+
llms/extensions/gallery/__init__.py,sha256=6YrgWsrfQXviFsJETFJxDlaEf0DAaPPBzokPxeK6AvU,1583
|
|
22
|
+
llms/extensions/gallery/db.py,sha256=xPoY5qFKifOqVmChuISsAQZH7Vnwn0bQTB2BtcmeH6k,11440
|
|
23
|
+
llms/extensions/gallery/__pycache__/__init__.cpython-314.pyc,sha256=qVYj7_SMudEoxz7BJKsUN_BNEfm9COYKArAIrl30Ynw,3384
|
|
24
|
+
llms/extensions/gallery/__pycache__/db.cpython-314.pyc,sha256=d59mYpqBhTuYjK88G-CmbgpIdyKDos2bvSY1sXzSW8c,15712
|
|
25
|
+
llms/extensions/gallery/ui/index.mjs,sha256=SQMKNWYwGuXI-b9mb8MWQbXXcI4YOMEfve-SWtN-ASU,28234
|
|
26
|
+
llms/extensions/providers/__init__.py,sha256=b20NLETAlDFnKQfGj0YviUA0L0EvDpYJQFK_W-A2_WU,419
|
|
27
|
+
llms/extensions/providers/anthropic.py,sha256=DOMpH074CV4hi0Yz-5TMscv9qpf2slWRoumF6GtJwkI,8077
|
|
28
|
+
llms/extensions/providers/chutes.py,sha256=mdPFwPyK1j2k3HbD-44LD20XYicUZDdyG4RFI4DzmbM,6317
|
|
29
|
+
llms/extensions/providers/google.py,sha256=khH8F9uQueHdqMdMx9SvnD1AbBUp_KSZBVwH1up_E6o,19344
|
|
30
|
+
llms/extensions/providers/nvidia.py,sha256=AokVo18QBqB9xAbIWkcum4SefrwHflhtoIxGWuBycIM,4366
|
|
31
|
+
llms/extensions/providers/openai.py,sha256=qC5o-On3enNS_zSNNfGNHzDa0-Ca50Moz-7kilxd0q0,6234
|
|
32
|
+
llms/extensions/providers/openrouter.py,sha256=gVUIa1DhbrEG7S8_-Qkxa0kdtHT8Doj3El0DO-q_tcQ,3253
|
|
33
|
+
llms/extensions/providers/__pycache__/__init__.cpython-314.pyc,sha256=_V6L2wMvy-HQMmz7bvnegp4NjxmTgP7_AR-d9SUN3dc,797
|
|
34
|
+
llms/extensions/providers/__pycache__/anthropic.cpython-314.pyc,sha256=qVIPsEdBkBIgHMyf_XABw3Dz7RByLzJzvf6GyQXsqJI,9194
|
|
35
|
+
llms/extensions/providers/__pycache__/chutes.cpython-314.pyc,sha256=QH2fiGb6VueqWNjN0RwizVpPOeqdN78s2rp_WoR0DrA,7367
|
|
36
|
+
llms/extensions/providers/__pycache__/google.cpython-314.pyc,sha256=STxidyM6xp0vwkCLO29wDTIw1jXluDBIB4KLNKf4c14,17473
|
|
37
|
+
llms/extensions/providers/__pycache__/nvidia.cpython-314.pyc,sha256=UOsgdqA2-9E5jVo2CbytViJxrk5AEdXJvH9X0gmK_mA,6216
|
|
38
|
+
llms/extensions/providers/__pycache__/openai.cpython-314.pyc,sha256=mu8QC52_OUwtFX89FN_WXZgkgoFglvF1gDukN4ge8Rk,8735
|
|
39
|
+
llms/extensions/providers/__pycache__/openrouter.cpython-314.pyc,sha256=LknnfQPVrXB2-7GCKVHoXIk6mW2ghRlQmn8piwQCv3I,5335
|
|
40
|
+
llms/extensions/system_prompts/__init__.py,sha256=TZy1CS2dPkBNBA_Ovf9BlVetZqTt2NgnsrZi6Mtg_C0,1535
|
|
41
|
+
llms/extensions/system_prompts/__pycache__/__init__.cpython-314.pyc,sha256=mftPdTu1qDLxifGSy9TkAAYPXxOkuNv7dUmQoZBC5Uk,2168
|
|
42
|
+
llms/extensions/system_prompts/ui/index.mjs,sha256=AOqai6X7kEe_sINoP8Ta-71Rj3RHEoXwZcgf9GTCs10,12158
|
|
43
|
+
llms/extensions/system_prompts/ui/prompts.json,sha256=eu7h4i2XAEcrID2Zr2ma0pweg2WfFehDAvTPaToqcBk,128484
|
|
44
|
+
llms/extensions/tools/ui/index.mjs,sha256=GoC_2LPbxohN4p89lXZNp6g6p2LbYsnxQjM7leo8JrI,9479
|
|
45
|
+
llms/ui/App.mjs,sha256=3DiXiodIsd5qImLXvQz9BHhcPKYd4KlrI3-ALB8Gkn4,7468
|
|
46
|
+
llms/ui/ai.mjs,sha256=hr7SQLuxs5nR_vicrHnUPWS00gretbLipsqXqX8J2w8,5541
|
|
47
|
+
llms/ui/app.css,sha256=-fzqnqcKSa-pnW5iCVI6BdFb7DmmTUvgqbkBFYStbEs,179072
|
|
48
|
+
llms/ui/ctx.mjs,sha256=Ed9ZqMvpXKWnmBdDyKtihZHxtcUD2t2GSVLUeurgoNU,8167
|
|
49
|
+
llms/ui/fav.svg,sha256=_R6MFeXl6wBFT0lqcUxYQIDWgm246YH_3hSTW0oO8qw,734
|
|
50
|
+
llms/ui/index.mjs,sha256=Bt71PTJxK0kv2leNrAHtpUzLs49kNaTgNSxH4gOqQsI,4329
|
|
51
|
+
llms/ui/markdown.mjs,sha256=WcYnT7xZFOc-TXbghVGSBjQJdLGTXq9vZ1LEIaYdcao,6611
|
|
52
|
+
llms/ui/tailwind.input.css,sha256=1CMKv3_YkX9q2w0yNAjmvcOIHArvLtreoSt6TZ7OM1w,15067
|
|
53
|
+
llms/ui/typography.css,sha256=6o7pbMIamRVlm2GfzSStpcOG4T5eFCK_WcQ3RIHKAsU,19587
|
|
54
|
+
llms/ui/utils.mjs,sha256=TYsZ7zQNyBNpu_QvojbVwXR6rYUvadirCphnrLaViDk,5996
|
|
55
|
+
llms/ui/lib/chart.js,sha256=dx8FdDX0Rv6OZtZjr9FQh5h-twFsKjfnb-FvFlQ--cU,196176
|
|
56
|
+
llms/ui/lib/charts.mjs,sha256=OPFAifcA4MPRv8pw6I7glVh7Xccv8guio0k35zPBDIY,926
|
|
57
|
+
llms/ui/lib/color.js,sha256=DDG7Pr-qzJHTPISZNSqP_qJR8UflKHEc_56n6xrBugQ,8273
|
|
58
|
+
llms/ui/lib/highlight.min.mjs,sha256=sG7wq8bF-IKkfie7S4QSyh5DdHBRf0NqQxMOEH8-MT0,127458
|
|
59
|
+
llms/ui/lib/idb.min.mjs,sha256=CeTXyV4I_pB5vnibvJuyXdMs0iVF2ZL0Z7cdm3w_QaI,3853
|
|
60
|
+
llms/ui/lib/marked.min.mjs,sha256=QRHb_VZugcBJRD2EP6gYlVFEsJw5C2fQ8ImMf_pA2_s,39488
|
|
61
|
+
llms/ui/lib/servicestack-client.mjs,sha256=UVafVbzhJ_0N2lzv7rlzIbzwnWpoqXxGk3N3FSKgOOc,54534
|
|
62
|
+
llms/ui/lib/servicestack-vue.mjs,sha256=4XxQLaKm26aexbY7lYTSMRmjZmBRzZgq7F8GZquuGrs,216947
|
|
63
|
+
llms/ui/lib/vue-router.min.mjs,sha256=fR30GHoXI1u81zyZ26YEU105pZgbbAKSXbpnzFKIxls,30418
|
|
64
|
+
llms/ui/lib/vue.min.mjs,sha256=iXh97m5hotl0eFllb3aoasQTImvp7mQoRJ_0HoxmZkw,163811
|
|
65
|
+
llms/ui/lib/vue.mjs,sha256=dS8LKOG01t9CvZ04i0tbFXHqFXOO_Ha4NmM3BytjQAs,537071
|
|
66
|
+
llms/ui/modules/layout.mjs,sha256=ft5dOT-fBegSmSPQKnktHKfpbmNFan8ZN44z25T8ig8,10892
|
|
67
|
+
llms/ui/modules/model-selector.mjs,sha256=Olz9bFGKYfB_N9IsgnW8iafzPybJORoGfeLYAmvsvj8,67475
|
|
68
|
+
llms/ui/modules/chat/ChatBody.mjs,sha256=ykNYidZYkwSDq8f9v46bQ9C7efn9lqHTiZY7a4GQ8V4,41799
|
|
69
|
+
llms/ui/modules/chat/HomeTools.mjs,sha256=DH4Btl-fy_L5mxzrWpGu-3ehx323D-EbAonE9oKv5Jw,11206
|
|
70
|
+
llms/ui/modules/chat/SettingsDialog.mjs,sha256=HMBJTwrapKrRIAstIIqp0QlJL5O-ho4hzgvfagPfsX8,19930
|
|
71
|
+
llms/ui/modules/chat/index.mjs,sha256=Ol9HNFeXJRDyOh_z5-FA2P82M6MZstb1cOvf4yQWWKw,36974
|
|
72
|
+
llms/ui/modules/threads/Recents.mjs,sha256=xiN5K9SYc0oJug60m6g_lPVw-75lNkp1ATuVUYgIgX8,8826
|
|
73
|
+
llms/ui/modules/threads/index.mjs,sha256=rMemKxwo7WzmbBR28K6AE7qhweAeCuGOpWLhu6bxyg0,11087
|
|
74
|
+
llms/ui/modules/threads/threadStore.mjs,sha256=_1f6XZSDzz5DB6orA8cNsk2iPA_Kt2KHSf_1mg4TsWo,18504
|
|
75
|
+
llms_py-3.0.0b7.dist-info/licenses/LICENSE,sha256=bus9cuAOWeYqBk2OuhSABVV1P4z7hgrEFISpyda_H5w,1532
|
|
76
|
+
llms_py-3.0.0b7.dist-info/METADATA,sha256=1Z3sr1wlxl0EbhX4FzfQOqnoSwXbSnbGaiulGIUz--0,2193
|
|
77
|
+
llms_py-3.0.0b7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
78
|
+
llms_py-3.0.0b7.dist-info/entry_points.txt,sha256=WswyE7PfnkZMIxboC-MS6flBD6wm-CYU7JSUnMhqMfM,40
|
|
79
|
+
llms_py-3.0.0b7.dist-info/top_level.txt,sha256=gC7hk9BKSeog8gyg-EM_g2gxm1mKHwFRfK-10BxOsa4,5
|
|
80
|
+
llms_py-3.0.0b7.dist-info/RECORD,,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
llms_py-3.0.0b6.dist-info/RECORD
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
llms/__init__.py,sha256=DKwTZDsyYL_wHe7yvLw49Nf8PSgPSyWaeVdotUqSvrQ,84
|
|
2
|
-
llms/__main__.py,sha256=hrBulHIt3lmPm1BCyAEVtB6DQ0Hvc3gnIddhHCmJasg,151
|
|
3
|
-
llms/index.html,sha256=gABCGg8ALHyB8OSH745HXx7U0SrXuNtJry9buUbVDik,2117
|
|
4
|
-
llms/llms.json,sha256=j7CmFdMpzNeo0nCPHHR4djYfzH_AFKKYIAH3cL3TKT8,10641
|
|
5
|
-
llms/main.py,sha256=H6fZ0WwMwULC6xf0kX_tVZ8sqTWUBzqmJdG0C28SjDo,130535
|
|
6
|
-
llms/providers-extra.json,sha256=rBVTg46s5bJ6ou9H45FW0RW1mvbW_cKMnjWQBgz-gUI,11107
|
|
7
|
-
llms/providers.json,sha256=mP4vQ37LeRAZCpT3WPO2GZaZ3YsXodXBV5OVbVMBAmo,256222
|
|
8
|
-
llms/__pycache__/__init__.cpython-312.pyc,sha256=lg2oFc0aKgj536NOJxcIpbCpEWi47ptF8NufPphgUUk,204
|
|
9
|
-
llms/__pycache__/__init__.cpython-313.pyc,sha256=DvmykIYAjV4Xjv5NeC70BA0JIX8qtwEWP2dfzmOBrps,173
|
|
10
|
-
llms/__pycache__/__init__.cpython-314.pyc,sha256=9CxeBz41D_-ezno6pIOsnoMAFzdRX2uZjKkBLUm25RQ,206
|
|
11
|
-
llms/__pycache__/__main__.cpython-312.pyc,sha256=fcu9LVl5nfdSzg9HqoKyDGoDvENeIXKkjygN7FENEGE,321
|
|
12
|
-
llms/__pycache__/__main__.cpython-314.pyc,sha256=IFxtGVpJq_3whKuM5Ln7YMweKFNbHVp8M7VSrLK5h2A,324
|
|
13
|
-
llms/__pycache__/llms.cpython-312.pyc,sha256=S5dFI79JdUe2dQW4ogdB-CCNhudQeFaFGcfKxgJGBms,72080
|
|
14
|
-
llms/__pycache__/main.cpython-312.pyc,sha256=HrqApYAiiBmYN73HIx_Hl2-Xm1Gy7I_0zuR5j86qoRM,104940
|
|
15
|
-
llms/__pycache__/main.cpython-313.pyc,sha256=6NQ__SJ2rC9ItFLKLHL5ewb5RqxLzZabwgczA9wZd-w,74814
|
|
16
|
-
llms/__pycache__/main.cpython-314.pyc,sha256=_qekyxUhkFTtuqCXUUinQMkbHVgOQggu6kZ13yrAtSc,167444
|
|
17
|
-
llms/__pycache__/plugins.cpython-314.pyc,sha256=fer8nTkidG_vQSx80tL2bAvMS0opDom93bewjseFcyg,3560
|
|
18
|
-
llms/providers/anthropic.py,sha256=KBwIPkGFkNCJxlLAY5MzFpEj7AB4d0WwpaOfZfvCrk0,8091
|
|
19
|
-
llms/providers/chutes.py,sha256=TTDfWviHOoNfk2cXnY5UJK_fciRJ2drfz48u67TDmCM,6171
|
|
20
|
-
llms/providers/google.py,sha256=aK9t7iPLmziUx7q6blF_G2MQUHFA1h8t461euxWWtVc,15104
|
|
21
|
-
llms/providers/nvidia.py,sha256=HRcI1-fgMGq5_9s6br9YHVVOIaXRtOGCgUPSCHXB-_0,4355
|
|
22
|
-
llms/providers/openai.py,sha256=zQqxXyF9v7CplmzebFIXd-Xfj7AcP_bIK6G8fPZh2p8,6355
|
|
23
|
-
llms/providers/openrouter.py,sha256=unXvR2KMsosWJe8_7k-JhDM8V_XtVUtnNO2psgtkTNk,3055
|
|
24
|
-
llms/providers/__pycache__/anthropic.cpython-314.pyc,sha256=tRLB3xJoPi0dLXY85JgXcD_DHIwhBcScx08NiHTiwdw,9158
|
|
25
|
-
llms/providers/__pycache__/chutes.cpython-314.pyc,sha256=TFAoyWV3rwvmcVi17ACgdqPY0Vh_kITFJ-IOGAtZp8w,7404
|
|
26
|
-
llms/providers/__pycache__/google.cpython-314.pyc,sha256=mprVq3i-Ma9La9EgUcUh7AXUaPWTBn6STM-w2LZN2Tc,13858
|
|
27
|
-
llms/providers/__pycache__/nvidia.cpython-314.pyc,sha256=pE2P5sz0EjRp3DYy-MiEAf_kq3Ns03Q0f-DQGa8UOXQ,6155
|
|
28
|
-
llms/providers/__pycache__/openai.cpython-314.pyc,sha256=-OnbDtGalUx3NtRU_sAwRL_TvrnKOworTliwS164IUY,8705
|
|
29
|
-
llms/providers/__pycache__/openrouter.cpython-314.pyc,sha256=5zAegKxy40P1uX87T9KhaE5s54UXSq9fjsG0i2n84tc,5078
|
|
30
|
-
llms/ui/App.mjs,sha256=PYdiU3hkn7nHbRVURpN0ruLMfPDulTCWb-BIe0-PT_I,7188
|
|
31
|
-
llms/ui/ai.mjs,sha256=4I2MECybgh8nLm1oLSEJKbpW1KZ0mYkzgYOBUygKmfA,5315
|
|
32
|
-
llms/ui/app.css,sha256=Tc3JVtpEkXnE0H2cyAmE5bhF96eUsVzBHFqAJAODawc,124819
|
|
33
|
-
llms/ui/ctx.mjs,sha256=j8zHy08DWAXkmaNBBkcr6Fs-D7uApTIArsA0QqXl7OM,6395
|
|
34
|
-
llms/ui/fav.svg,sha256=_R6MFeXl6wBFT0lqcUxYQIDWgm246YH_3hSTW0oO8qw,734
|
|
35
|
-
llms/ui/index.mjs,sha256=-GTK8ftHEiCygv3dWVUdHlqGW7JoE0aLURYQmJ706aY,4171
|
|
36
|
-
llms/ui/markdown.mjs,sha256=WcYnT7xZFOc-TXbghVGSBjQJdLGTXq9vZ1LEIaYdcao,6611
|
|
37
|
-
llms/ui/tailwind.input.css,sha256=1CMKv3_YkX9q2w0yNAjmvcOIHArvLtreoSt6TZ7OM1w,15067
|
|
38
|
-
llms/ui/typography.css,sha256=6o7pbMIamRVlm2GfzSStpcOG4T5eFCK_WcQ3RIHKAsU,19587
|
|
39
|
-
llms/ui/utils.mjs,sha256=gbv8oCHP39GHEKt-oLZ-ZBMrkGd7bPRuTkYu4ggim1k,5401
|
|
40
|
-
llms/ui/lib/chart.js,sha256=dx8FdDX0Rv6OZtZjr9FQh5h-twFsKjfnb-FvFlQ--cU,196176
|
|
41
|
-
llms/ui/lib/charts.mjs,sha256=OPFAifcA4MPRv8pw6I7glVh7Xccv8guio0k35zPBDIY,926
|
|
42
|
-
llms/ui/lib/color.js,sha256=DDG7Pr-qzJHTPISZNSqP_qJR8UflKHEc_56n6xrBugQ,8273
|
|
43
|
-
llms/ui/lib/highlight.min.mjs,sha256=sG7wq8bF-IKkfie7S4QSyh5DdHBRf0NqQxMOEH8-MT0,127458
|
|
44
|
-
llms/ui/lib/idb.min.mjs,sha256=CeTXyV4I_pB5vnibvJuyXdMs0iVF2ZL0Z7cdm3w_QaI,3853
|
|
45
|
-
llms/ui/lib/marked.min.mjs,sha256=QRHb_VZugcBJRD2EP6gYlVFEsJw5C2fQ8ImMf_pA2_s,39488
|
|
46
|
-
llms/ui/lib/servicestack-client.mjs,sha256=UVafVbzhJ_0N2lzv7rlzIbzwnWpoqXxGk3N3FSKgOOc,54534
|
|
47
|
-
llms/ui/lib/servicestack-vue.mjs,sha256=4XxQLaKm26aexbY7lYTSMRmjZmBRzZgq7F8GZquuGrs,216947
|
|
48
|
-
llms/ui/lib/vue-router.min.mjs,sha256=fR30GHoXI1u81zyZ26YEU105pZgbbAKSXbpnzFKIxls,30418
|
|
49
|
-
llms/ui/lib/vue.min.mjs,sha256=iXh97m5hotl0eFllb3aoasQTImvp7mQoRJ_0HoxmZkw,163811
|
|
50
|
-
llms/ui/lib/vue.mjs,sha256=dS8LKOG01t9CvZ04i0tbFXHqFXOO_Ha4NmM3BytjQAs,537071
|
|
51
|
-
llms/ui/modules/analytics.mjs,sha256=uDotilFz7V4Bl-tCFaOnCvx-S0SGnM5vvPZ1xEytIAk,74167
|
|
52
|
-
llms/ui/modules/layout.mjs,sha256=WTy85_8rSyBQooo2f5baw98RzNhpecw4pDpfhEgKv4s,12105
|
|
53
|
-
llms/ui/modules/model-selector.mjs,sha256=dekgCdaqoWX_9fnpI8mhd6lU25JV7vxBoVQVVuF2p-I,67474
|
|
54
|
-
llms/ui/modules/tools.mjs,sha256=ciFtujb60iIVjxAq-emEDs06iygZ6rSyMGwL0BG4xWI,9472
|
|
55
|
-
llms/ui/modules/chat/ChatBody.mjs,sha256=5xbBLQShRtBXZjM_bShihZu1Pr7UpPS3vjw47vSvgU8,52861
|
|
56
|
-
llms/ui/modules/chat/SettingsDialog.mjs,sha256=N_Xnd9eXkXuw8cVaKR77k16TgOitB9btInW8Qp-WK7U,19929
|
|
57
|
-
llms/ui/modules/chat/index.mjs,sha256=AIgAffafq027vviAD26wtxHZ5mP2wiVgTtb4kwAs3yU,34387
|
|
58
|
-
llms/ui/modules/threads/Recents.mjs,sha256=xiN5K9SYc0oJug60m6g_lPVw-75lNkp1ATuVUYgIgX8,8826
|
|
59
|
-
llms/ui/modules/threads/index.mjs,sha256=0ZwVb6W2BT3mwK5bwKgtlJEGJ9IAnQr7qk3XNG1LnFU,11397
|
|
60
|
-
llms/ui/modules/threads/threadStore.mjs,sha256=cGm6g4dn5q0u_K6Bu5xuoAmBuURquubK7R4ahSKNC_E,16886
|
|
61
|
-
llms_py-3.0.0b6.dist-info/licenses/LICENSE,sha256=bus9cuAOWeYqBk2OuhSABVV1P4z7hgrEFISpyda_H5w,1532
|
|
62
|
-
llms_py-3.0.0b6.dist-info/METADATA,sha256=dvFfu0f95YwYr_bApi7ZI9QMwhPlLc1PkWTD5tLO21Y,2193
|
|
63
|
-
llms_py-3.0.0b6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
64
|
-
llms_py-3.0.0b6.dist-info/entry_points.txt,sha256=WswyE7PfnkZMIxboC-MS6flBD6wm-CYU7JSUnMhqMfM,40
|
|
65
|
-
llms_py-3.0.0b6.dist-info/top_level.txt,sha256=gC7hk9BKSeog8gyg-EM_g2gxm1mKHwFRfK-10BxOsa4,5
|
|
66
|
-
llms_py-3.0.0b6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|