llms-py 3.0.0b7__py3-none-any.whl → 3.0.0b8__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/extensions/analytics/ui/index.mjs +51 -162
- llms/extensions/app/__init__.py +519 -0
- llms/extensions/app/__pycache__/__init__.cpython-314.pyc +0 -0
- llms/extensions/app/__pycache__/db.cpython-314.pyc +0 -0
- llms/extensions/app/__pycache__/db_manager.cpython-314.pyc +0 -0
- llms/extensions/app/db.py +641 -0
- llms/extensions/app/db_manager.py +195 -0
- llms/extensions/app/requests.json +9073 -0
- llms/extensions/app/threads.json +15290 -0
- llms/{ui/modules/threads → extensions/app/ui}/Recents.mjs +82 -55
- llms/{ui/modules/threads → extensions/app/ui}/index.mjs +78 -9
- llms/extensions/app/ui/threadStore.mjs +407 -0
- llms/extensions/core_tools/__init__.py +272 -32
- llms/extensions/core_tools/__pycache__/__init__.cpython-314.pyc +0 -0
- llms/extensions/core_tools/ui/codemirror/addon/edit/closebrackets.js +201 -0
- llms/extensions/core_tools/ui/codemirror/addon/edit/closetag.js +185 -0
- llms/extensions/core_tools/ui/codemirror/addon/edit/continuelist.js +101 -0
- llms/extensions/core_tools/ui/codemirror/addon/edit/matchbrackets.js +160 -0
- llms/extensions/core_tools/ui/codemirror/addon/edit/matchtags.js +66 -0
- llms/extensions/core_tools/ui/codemirror/addon/edit/trailingspace.js +27 -0
- llms/extensions/core_tools/ui/codemirror/addon/selection/active-line.js +72 -0
- llms/extensions/core_tools/ui/codemirror/addon/selection/mark-selection.js +119 -0
- llms/extensions/core_tools/ui/codemirror/addon/selection/selection-pointer.js +98 -0
- llms/extensions/core_tools/ui/codemirror/doc/docs.css +225 -0
- llms/extensions/core_tools/ui/codemirror/doc/source_sans.woff +0 -0
- llms/extensions/core_tools/ui/codemirror/lib/codemirror.css +344 -0
- llms/extensions/core_tools/ui/codemirror/lib/codemirror.js +9884 -0
- llms/extensions/core_tools/ui/codemirror/mode/clike/clike.js +942 -0
- llms/extensions/core_tools/ui/codemirror/mode/javascript/index.html +118 -0
- llms/extensions/core_tools/ui/codemirror/mode/javascript/javascript.js +962 -0
- llms/extensions/core_tools/ui/codemirror/mode/javascript/typescript.html +62 -0
- llms/extensions/core_tools/ui/codemirror/mode/python/python.js +402 -0
- llms/extensions/core_tools/ui/codemirror/theme/dracula.css +40 -0
- llms/extensions/core_tools/ui/codemirror/theme/mocha.css +135 -0
- llms/extensions/core_tools/ui/index.mjs +650 -0
- llms/extensions/gallery/__pycache__/db.cpython-314.pyc +0 -0
- llms/extensions/gallery/db.py +4 -4
- llms/extensions/gallery/ui/index.mjs +2 -1
- llms/extensions/katex/__init__.py +6 -0
- llms/extensions/katex/__pycache__/__init__.cpython-314.pyc +0 -0
- llms/extensions/katex/ui/README.md +125 -0
- llms/extensions/katex/ui/contrib/auto-render.js +338 -0
- llms/extensions/katex/ui/contrib/auto-render.min.js +1 -0
- llms/extensions/katex/ui/contrib/auto-render.mjs +244 -0
- llms/extensions/katex/ui/contrib/copy-tex.js +127 -0
- llms/extensions/katex/ui/contrib/copy-tex.min.js +1 -0
- llms/extensions/katex/ui/contrib/copy-tex.mjs +105 -0
- llms/extensions/katex/ui/contrib/mathtex-script-type.js +109 -0
- llms/extensions/katex/ui/contrib/mathtex-script-type.min.js +1 -0
- llms/extensions/katex/ui/contrib/mathtex-script-type.mjs +24 -0
- llms/extensions/katex/ui/contrib/mhchem.js +3213 -0
- llms/extensions/katex/ui/contrib/mhchem.min.js +1 -0
- llms/extensions/katex/ui/contrib/mhchem.mjs +3109 -0
- llms/extensions/katex/ui/contrib/render-a11y-string.js +887 -0
- llms/extensions/katex/ui/contrib/render-a11y-string.min.js +1 -0
- llms/extensions/katex/ui/contrib/render-a11y-string.mjs +800 -0
- llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- llms/extensions/katex/ui/index.mjs +92 -0
- llms/extensions/katex/ui/katex-swap.css +1230 -0
- llms/extensions/katex/ui/katex-swap.min.css +1 -0
- llms/extensions/katex/ui/katex.css +1230 -0
- llms/extensions/katex/ui/katex.js +19080 -0
- llms/extensions/katex/ui/katex.min.css +1 -0
- llms/extensions/katex/ui/katex.min.js +1 -0
- llms/extensions/katex/ui/katex.min.mjs +1 -0
- llms/extensions/katex/ui/katex.mjs +18547 -0
- llms/extensions/providers/__pycache__/anthropic.cpython-314.pyc +0 -0
- llms/extensions/providers/anthropic.py +44 -1
- llms/extensions/system_prompts/ui/index.mjs +2 -1
- llms/extensions/tools/__init__.py +5 -0
- llms/extensions/tools/__pycache__/__init__.cpython-314.pyc +0 -0
- llms/extensions/tools/ui/index.mjs +8 -8
- llms/index.html +26 -38
- llms/llms.json +4 -1
- llms/main.py +492 -103
- llms/ui/App.mjs +2 -3
- llms/ui/ai.mjs +29 -13
- llms/ui/app.css +250 -398
- llms/ui/ctx.mjs +84 -6
- llms/ui/index.mjs +4 -6
- llms/ui/lib/vue.min.mjs +10 -9
- llms/ui/lib/vue.mjs +1796 -1635
- llms/ui/markdown.mjs +4 -2
- llms/ui/modules/chat/ChatBody.mjs +90 -86
- llms/ui/modules/chat/HomeTools.mjs +0 -242
- llms/ui/modules/chat/index.mjs +103 -170
- llms/ui/modules/model-selector.mjs +2 -2
- llms/ui/tailwind.input.css +35 -1
- llms/ui/utils.mjs +12 -0
- {llms_py-3.0.0b7.dist-info → llms_py-3.0.0b8.dist-info}/METADATA +1 -1
- llms_py-3.0.0b8.dist-info/RECORD +198 -0
- llms/ui/modules/threads/threadStore.mjs +0 -640
- llms_py-3.0.0b7.dist-info/RECORD +0 -80
- {llms_py-3.0.0b7.dist-info → llms_py-3.0.0b8.dist-info}/WHEEL +0 -0
- {llms_py-3.0.0b7.dist-info → llms_py-3.0.0b8.dist-info}/entry_points.txt +0 -0
- {llms_py-3.0.0b7.dist-info → llms_py-3.0.0b8.dist-info}/licenses/LICENSE +0 -0
- {llms_py-3.0.0b7.dist-info → llms_py-3.0.0b8.dist-info}/top_level.txt +0 -0
llms/ui/ctx.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { reactive } from 'vue'
|
|
2
|
+
import { reactive, markRaw } from 'vue'
|
|
3
3
|
import { EventBus, humanize, combinePaths } from "@servicestack/client"
|
|
4
4
|
import { storageObject } from './utils.mjs'
|
|
5
5
|
|
|
@@ -25,33 +25,77 @@ export class ExtensionScope {
|
|
|
25
25
|
get(url, options) {
|
|
26
26
|
return this.ctx.ai.get(combinePaths(this.baseUrl, url), options)
|
|
27
27
|
}
|
|
28
|
+
delete(url, options) {
|
|
29
|
+
return this.ctx.ai.get(combinePaths(this.baseUrl, url), {
|
|
30
|
+
...options,
|
|
31
|
+
method: 'DELETE'
|
|
32
|
+
})
|
|
33
|
+
}
|
|
28
34
|
async getJson(url, options) {
|
|
29
35
|
return this.ctx.ai.getJson(combinePaths(this.baseUrl, url), options)
|
|
30
36
|
}
|
|
37
|
+
async deleteJson(url, options) {
|
|
38
|
+
return this.ctx.ai.getJson(combinePaths(this.baseUrl, url), {
|
|
39
|
+
...options,
|
|
40
|
+
method: 'DELETE'
|
|
41
|
+
})
|
|
42
|
+
}
|
|
31
43
|
post(url, options) {
|
|
32
44
|
return this.ctx.ai.post(combinePaths(this.baseUrl, url), options)
|
|
33
45
|
}
|
|
34
46
|
async postForm(url, options) {
|
|
35
47
|
return await this.ctx.ai.postForm(combinePaths(this.baseUrl, url), options)
|
|
36
48
|
}
|
|
37
|
-
async postJson(url,
|
|
38
|
-
return this.ctx.ai.postJson(combinePaths(this.baseUrl, url),
|
|
49
|
+
async postJson(url, body) {
|
|
50
|
+
return this.ctx.ai.postJson(combinePaths(this.baseUrl, url), {
|
|
51
|
+
body: body instanceof FormData ? body : JSON.stringify(body)
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
async putJson(url, body) {
|
|
55
|
+
return this.ctx.ai.postJson(combinePaths(this.baseUrl, url), {
|
|
56
|
+
method: 'PUT',
|
|
57
|
+
body: body instanceof FormData ? body : JSON.stringify(body)
|
|
58
|
+
})
|
|
59
|
+
}
|
|
60
|
+
async patchJson(url, body) {
|
|
61
|
+
return this.ctx.ai.postJson(combinePaths(this.baseUrl, url), {
|
|
62
|
+
method: 'PATCH',
|
|
63
|
+
body: body instanceof FormData ? body : JSON.stringify(body)
|
|
64
|
+
})
|
|
65
|
+
}
|
|
66
|
+
async createJsonResult(res) {
|
|
67
|
+
return this.ctx.ai.createJsonResult(res)
|
|
68
|
+
}
|
|
69
|
+
createErrorResult(e) {
|
|
70
|
+
return this.ctx.ai.createErrorResult(e)
|
|
71
|
+
}
|
|
72
|
+
setError(e, msg = null) {
|
|
73
|
+
const prefix = this.id ? `[${this.id}] ` : ''
|
|
74
|
+
this.ctx.setError(e, msg ? `${prefix} ${msg}` : prefix)
|
|
75
|
+
}
|
|
76
|
+
clearError() {
|
|
77
|
+
this.ctx.clearError()
|
|
78
|
+
}
|
|
79
|
+
toast(msg) {
|
|
80
|
+
this.ctx.toast(msg)
|
|
39
81
|
}
|
|
40
82
|
}
|
|
41
83
|
|
|
42
84
|
export class AppContext {
|
|
43
|
-
constructor({ app, routes, ai, fmt, utils }) {
|
|
85
|
+
constructor({ app, routes, ai, fmt, utils, marked }) {
|
|
44
86
|
this.app = app
|
|
45
87
|
this.routes = routes
|
|
46
88
|
this.ai = ai
|
|
47
89
|
this.fmt = fmt
|
|
48
90
|
this.utils = utils
|
|
49
91
|
this._components = {}
|
|
92
|
+
this.marked = marked
|
|
50
93
|
|
|
51
94
|
this.state = reactive({})
|
|
52
95
|
this.events = new EventBus()
|
|
53
96
|
this.modalComponents = {}
|
|
54
97
|
this.extensions = []
|
|
98
|
+
this.markedFilters = []
|
|
55
99
|
this.chatRequestFilters = []
|
|
56
100
|
this.chatResponseFilters = []
|
|
57
101
|
this.chatErrorFilters = []
|
|
@@ -83,6 +127,9 @@ export class AppContext {
|
|
|
83
127
|
}
|
|
84
128
|
async init() {
|
|
85
129
|
Object.assign(this.state, await this.ai.init(this))
|
|
130
|
+
Object.assign(this.fmt, {
|
|
131
|
+
markdown: this.renderMarkdown.bind(this)
|
|
132
|
+
})
|
|
86
133
|
}
|
|
87
134
|
setGlobals(globals) {
|
|
88
135
|
Object.entries(globals).forEach(([name, global]) => {
|
|
@@ -138,8 +185,9 @@ export class AppContext {
|
|
|
138
185
|
}
|
|
139
186
|
modals(modals) {
|
|
140
187
|
Object.keys(modals).forEach(name => {
|
|
141
|
-
|
|
142
|
-
this.
|
|
188
|
+
const modal = markRaw(modals[name])
|
|
189
|
+
this.modalComponents[name] = modal
|
|
190
|
+
this.component(name, modal)
|
|
143
191
|
})
|
|
144
192
|
}
|
|
145
193
|
openModal(name) {
|
|
@@ -214,6 +262,21 @@ export class AppContext {
|
|
|
214
262
|
this.toggleLayout('left', toggle)
|
|
215
263
|
return toggle
|
|
216
264
|
}
|
|
265
|
+
|
|
266
|
+
setError(error, msg = null) {
|
|
267
|
+
this.state.error = error
|
|
268
|
+
if (error) {
|
|
269
|
+
if (msg) {
|
|
270
|
+
console.error(error.message, msg, error)
|
|
271
|
+
} else {
|
|
272
|
+
console.error(error.message, error)
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
clearError() {
|
|
277
|
+
this.state.error = null
|
|
278
|
+
}
|
|
279
|
+
|
|
217
280
|
async getJson(url, options) {
|
|
218
281
|
return await this.ai.getJson(url, options)
|
|
219
282
|
}
|
|
@@ -260,4 +323,19 @@ export class AppContext {
|
|
|
260
323
|
}
|
|
261
324
|
return cls
|
|
262
325
|
}
|
|
326
|
+
toast(msg) {
|
|
327
|
+
this.setState({ toast: msg })
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
renderMarkdown(content) {
|
|
331
|
+
if (Array.isArray(content)) {
|
|
332
|
+
content = content.filter(c => c.type === 'text').map(c => c.text).join('\n')
|
|
333
|
+
}
|
|
334
|
+
// if (content) {
|
|
335
|
+
// content = content
|
|
336
|
+
// .replaceAll(`\\[ \\boxed{`, '\n<span class="inline-block text-xl text-blue-500 bg-blue-50 dark:text-blue-400 dark:bg-blue-950 px-3 py-1 rounded">')
|
|
337
|
+
// .replaceAll('} \\]', '</span>\n')
|
|
338
|
+
// }
|
|
339
|
+
return this.marked.parse(content || '')
|
|
340
|
+
}
|
|
263
341
|
}
|
llms/ui/index.mjs
CHANGED
|
@@ -6,10 +6,9 @@ import App from './App.mjs'
|
|
|
6
6
|
import ai from './ai.mjs'
|
|
7
7
|
import LayoutModule from './modules/layout.mjs'
|
|
8
8
|
import ChatModule from './modules/chat/index.mjs'
|
|
9
|
-
import ThreadsModule from './modules/threads/index.mjs'
|
|
10
9
|
import ModelSelectorModule from './modules/model-selector.mjs'
|
|
11
10
|
import { utilsFunctions, utilsFormatters } from './utils.mjs'
|
|
12
|
-
import { markdownFormatters } from './markdown.mjs'
|
|
11
|
+
import { marked, markdownFormatters } from './markdown.mjs'
|
|
13
12
|
import { AppContext } from './ctx.mjs'
|
|
14
13
|
|
|
15
14
|
const Components = {
|
|
@@ -18,7 +17,6 @@ const Components = {
|
|
|
18
17
|
const BuiltInModules = {
|
|
19
18
|
LayoutModule,
|
|
20
19
|
ChatModule,
|
|
21
|
-
ThreadsModule,
|
|
22
20
|
ModelSelectorModule,
|
|
23
21
|
}
|
|
24
22
|
|
|
@@ -31,11 +29,11 @@ export async function createContext() {
|
|
|
31
29
|
app.component(name, Components[name])
|
|
32
30
|
})
|
|
33
31
|
|
|
34
|
-
const fmt = Object.assign({}, useFormatters(), utilsFormatters()
|
|
32
|
+
const fmt = Object.assign({}, useFormatters(), utilsFormatters())
|
|
35
33
|
const utils = Object.assign({}, utilsFunctions())
|
|
36
34
|
const routes = []
|
|
37
35
|
|
|
38
|
-
const ctx = new AppContext({ app, routes, ai, fmt, utils })
|
|
36
|
+
const ctx = new AppContext({ app, routes, ai, fmt, utils, marked })
|
|
39
37
|
app.provide('ctx', ctx)
|
|
40
38
|
await ctx.init()
|
|
41
39
|
|
|
@@ -97,7 +95,7 @@ export async function createContext() {
|
|
|
97
95
|
|
|
98
96
|
ctx.router.beforeEach((to, from) => {
|
|
99
97
|
const title = to.meta.title || 'Chat'
|
|
100
|
-
console.
|
|
98
|
+
console.debug('router:change', to.path, title)
|
|
101
99
|
ctx.setLayout({ path: to.path })
|
|
102
100
|
ctx.setState({ title })
|
|
103
101
|
document.title = title
|