llms-py 3.0.0__py3-none-any.whl → 3.0.0b1__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.
Files changed (206) hide show
  1. llms/index.html +77 -35
  2. llms/llms.json +23 -72
  3. llms/main.py +732 -1786
  4. llms/providers.json +1 -1
  5. llms/{extensions/analytics/ui/index.mjs → ui/Analytics.mjs} +238 -154
  6. llms/ui/App.mjs +60 -151
  7. llms/ui/Avatar.mjs +85 -0
  8. llms/ui/Brand.mjs +52 -0
  9. llms/ui/ChatPrompt.mjs +606 -0
  10. llms/ui/Main.mjs +873 -0
  11. llms/ui/ModelSelector.mjs +693 -0
  12. llms/ui/OAuthSignIn.mjs +92 -0
  13. llms/ui/ProviderIcon.mjs +36 -0
  14. llms/ui/ProviderStatus.mjs +105 -0
  15. llms/{extensions/app/ui → ui}/Recents.mjs +65 -91
  16. llms/ui/{modules/chat/SettingsDialog.mjs → SettingsDialog.mjs} +9 -9
  17. llms/{extensions/app/ui/index.mjs → ui/Sidebar.mjs} +58 -124
  18. llms/ui/SignIn.mjs +64 -0
  19. llms/ui/SystemPromptEditor.mjs +31 -0
  20. llms/ui/SystemPromptSelector.mjs +56 -0
  21. llms/ui/Welcome.mjs +8 -0
  22. llms/ui/ai.mjs +53 -125
  23. llms/ui/app.css +111 -1837
  24. llms/ui/lib/charts.mjs +13 -9
  25. llms/ui/lib/servicestack-vue.mjs +3 -3
  26. llms/ui/lib/vue.min.mjs +9 -10
  27. llms/ui/lib/vue.mjs +1602 -1763
  28. llms/ui/markdown.mjs +2 -10
  29. llms/ui/tailwind.input.css +80 -496
  30. llms/ui/threadStore.mjs +572 -0
  31. llms/ui/utils.mjs +117 -113
  32. llms/ui.json +1069 -0
  33. {llms_py-3.0.0.dist-info → llms_py-3.0.0b1.dist-info}/METADATA +1 -1
  34. llms_py-3.0.0b1.dist-info/RECORD +49 -0
  35. llms/__pycache__/__init__.cpython-312.pyc +0 -0
  36. llms/__pycache__/__init__.cpython-313.pyc +0 -0
  37. llms/__pycache__/__init__.cpython-314.pyc +0 -0
  38. llms/__pycache__/__main__.cpython-312.pyc +0 -0
  39. llms/__pycache__/__main__.cpython-314.pyc +0 -0
  40. llms/__pycache__/llms.cpython-312.pyc +0 -0
  41. llms/__pycache__/main.cpython-312.pyc +0 -0
  42. llms/__pycache__/main.cpython-313.pyc +0 -0
  43. llms/__pycache__/main.cpython-314.pyc +0 -0
  44. llms/__pycache__/plugins.cpython-314.pyc +0 -0
  45. llms/extensions/app/README.md +0 -20
  46. llms/extensions/app/__init__.py +0 -530
  47. llms/extensions/app/__pycache__/__init__.cpython-314.pyc +0 -0
  48. llms/extensions/app/__pycache__/db.cpython-314.pyc +0 -0
  49. llms/extensions/app/__pycache__/db_manager.cpython-314.pyc +0 -0
  50. llms/extensions/app/db.py +0 -644
  51. llms/extensions/app/db_manager.py +0 -195
  52. llms/extensions/app/requests.json +0 -9073
  53. llms/extensions/app/threads.json +0 -15290
  54. llms/extensions/app/ui/threadStore.mjs +0 -411
  55. llms/extensions/core_tools/CALCULATOR.md +0 -32
  56. llms/extensions/core_tools/__init__.py +0 -598
  57. llms/extensions/core_tools/__pycache__/__init__.cpython-314.pyc +0 -0
  58. llms/extensions/core_tools/ui/codemirror/addon/edit/closebrackets.js +0 -201
  59. llms/extensions/core_tools/ui/codemirror/addon/edit/closetag.js +0 -185
  60. llms/extensions/core_tools/ui/codemirror/addon/edit/continuelist.js +0 -101
  61. llms/extensions/core_tools/ui/codemirror/addon/edit/matchbrackets.js +0 -160
  62. llms/extensions/core_tools/ui/codemirror/addon/edit/matchtags.js +0 -66
  63. llms/extensions/core_tools/ui/codemirror/addon/edit/trailingspace.js +0 -27
  64. llms/extensions/core_tools/ui/codemirror/addon/selection/active-line.js +0 -72
  65. llms/extensions/core_tools/ui/codemirror/addon/selection/mark-selection.js +0 -119
  66. llms/extensions/core_tools/ui/codemirror/addon/selection/selection-pointer.js +0 -98
  67. llms/extensions/core_tools/ui/codemirror/doc/docs.css +0 -225
  68. llms/extensions/core_tools/ui/codemirror/doc/source_sans.woff +0 -0
  69. llms/extensions/core_tools/ui/codemirror/lib/codemirror.css +0 -344
  70. llms/extensions/core_tools/ui/codemirror/lib/codemirror.js +0 -9884
  71. llms/extensions/core_tools/ui/codemirror/mode/clike/clike.js +0 -942
  72. llms/extensions/core_tools/ui/codemirror/mode/javascript/index.html +0 -118
  73. llms/extensions/core_tools/ui/codemirror/mode/javascript/javascript.js +0 -962
  74. llms/extensions/core_tools/ui/codemirror/mode/javascript/typescript.html +0 -62
  75. llms/extensions/core_tools/ui/codemirror/mode/python/python.js +0 -402
  76. llms/extensions/core_tools/ui/codemirror/theme/dracula.css +0 -40
  77. llms/extensions/core_tools/ui/codemirror/theme/mocha.css +0 -135
  78. llms/extensions/core_tools/ui/index.mjs +0 -650
  79. llms/extensions/gallery/README.md +0 -61
  80. llms/extensions/gallery/__init__.py +0 -61
  81. llms/extensions/gallery/__pycache__/__init__.cpython-314.pyc +0 -0
  82. llms/extensions/gallery/__pycache__/db.cpython-314.pyc +0 -0
  83. llms/extensions/gallery/db.py +0 -298
  84. llms/extensions/gallery/ui/index.mjs +0 -482
  85. llms/extensions/katex/README.md +0 -39
  86. llms/extensions/katex/__init__.py +0 -6
  87. llms/extensions/katex/__pycache__/__init__.cpython-314.pyc +0 -0
  88. llms/extensions/katex/ui/README.md +0 -125
  89. llms/extensions/katex/ui/contrib/auto-render.js +0 -338
  90. llms/extensions/katex/ui/contrib/auto-render.min.js +0 -1
  91. llms/extensions/katex/ui/contrib/auto-render.mjs +0 -244
  92. llms/extensions/katex/ui/contrib/copy-tex.js +0 -127
  93. llms/extensions/katex/ui/contrib/copy-tex.min.js +0 -1
  94. llms/extensions/katex/ui/contrib/copy-tex.mjs +0 -105
  95. llms/extensions/katex/ui/contrib/mathtex-script-type.js +0 -109
  96. llms/extensions/katex/ui/contrib/mathtex-script-type.min.js +0 -1
  97. llms/extensions/katex/ui/contrib/mathtex-script-type.mjs +0 -24
  98. llms/extensions/katex/ui/contrib/mhchem.js +0 -3213
  99. llms/extensions/katex/ui/contrib/mhchem.min.js +0 -1
  100. llms/extensions/katex/ui/contrib/mhchem.mjs +0 -3109
  101. llms/extensions/katex/ui/contrib/render-a11y-string.js +0 -887
  102. llms/extensions/katex/ui/contrib/render-a11y-string.min.js +0 -1
  103. llms/extensions/katex/ui/contrib/render-a11y-string.mjs +0 -800
  104. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.ttf +0 -0
  105. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff +0 -0
  106. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  107. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  108. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  109. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  110. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  111. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  112. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  113. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  114. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  115. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  116. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  117. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  118. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  119. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.ttf +0 -0
  120. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff +0 -0
  121. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff2 +0 -0
  122. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  123. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  124. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  125. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.ttf +0 -0
  126. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff +0 -0
  127. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff2 +0 -0
  128. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.ttf +0 -0
  129. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff +0 -0
  130. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff2 +0 -0
  131. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  132. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  133. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  134. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.ttf +0 -0
  135. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff +0 -0
  136. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff2 +0 -0
  137. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  138. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  139. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  140. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  141. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  142. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  143. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  144. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  145. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  146. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.ttf +0 -0
  147. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff +0 -0
  148. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff2 +0 -0
  149. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.ttf +0 -0
  150. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff +0 -0
  151. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  152. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.ttf +0 -0
  153. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff +0 -0
  154. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  155. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.ttf +0 -0
  156. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff +0 -0
  157. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  158. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.ttf +0 -0
  159. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff +0 -0
  160. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  161. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  162. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  163. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  164. llms/extensions/katex/ui/index.mjs +0 -92
  165. llms/extensions/katex/ui/katex-swap.css +0 -1230
  166. llms/extensions/katex/ui/katex-swap.min.css +0 -1
  167. llms/extensions/katex/ui/katex.css +0 -1230
  168. llms/extensions/katex/ui/katex.js +0 -19080
  169. llms/extensions/katex/ui/katex.min.css +0 -1
  170. llms/extensions/katex/ui/katex.min.js +0 -1
  171. llms/extensions/katex/ui/katex.min.mjs +0 -1
  172. llms/extensions/katex/ui/katex.mjs +0 -18547
  173. llms/extensions/providers/__init__.py +0 -18
  174. llms/extensions/providers/__pycache__/__init__.cpython-314.pyc +0 -0
  175. llms/extensions/providers/__pycache__/anthropic.cpython-314.pyc +0 -0
  176. llms/extensions/providers/__pycache__/chutes.cpython-314.pyc +0 -0
  177. llms/extensions/providers/__pycache__/google.cpython-314.pyc +0 -0
  178. llms/extensions/providers/__pycache__/nvidia.cpython-314.pyc +0 -0
  179. llms/extensions/providers/__pycache__/openai.cpython-314.pyc +0 -0
  180. llms/extensions/providers/__pycache__/openrouter.cpython-314.pyc +0 -0
  181. llms/extensions/providers/anthropic.py +0 -229
  182. llms/extensions/providers/chutes.py +0 -155
  183. llms/extensions/providers/google.py +0 -378
  184. llms/extensions/providers/nvidia.py +0 -105
  185. llms/extensions/providers/openai.py +0 -156
  186. llms/extensions/providers/openrouter.py +0 -72
  187. llms/extensions/system_prompts/README.md +0 -22
  188. llms/extensions/system_prompts/__init__.py +0 -45
  189. llms/extensions/system_prompts/__pycache__/__init__.cpython-314.pyc +0 -0
  190. llms/extensions/system_prompts/ui/index.mjs +0 -280
  191. llms/extensions/system_prompts/ui/prompts.json +0 -1067
  192. llms/extensions/tools/__init__.py +0 -5
  193. llms/extensions/tools/__pycache__/__init__.cpython-314.pyc +0 -0
  194. llms/extensions/tools/ui/index.mjs +0 -204
  195. llms/providers-extra.json +0 -356
  196. llms/ui/ctx.mjs +0 -365
  197. llms/ui/index.mjs +0 -129
  198. llms/ui/modules/chat/ChatBody.mjs +0 -691
  199. llms/ui/modules/chat/index.mjs +0 -828
  200. llms/ui/modules/layout.mjs +0 -243
  201. llms/ui/modules/model-selector.mjs +0 -851
  202. llms_py-3.0.0.dist-info/RECORD +0 -202
  203. {llms_py-3.0.0.dist-info → llms_py-3.0.0b1.dist-info}/WHEEL +0 -0
  204. {llms_py-3.0.0.dist-info → llms_py-3.0.0b1.dist-info}/entry_points.txt +0 -0
  205. {llms_py-3.0.0.dist-info → llms_py-3.0.0b1.dist-info}/licenses/LICENSE +0 -0
  206. {llms_py-3.0.0.dist-info → llms_py-3.0.0b1.dist-info}/top_level.txt +0 -0
llms/index.html CHANGED
@@ -1,58 +1,100 @@
1
1
  <html>
2
-
3
2
  <head>
4
3
  <title>llms.py</title>
5
4
  <link rel="stylesheet" href="/ui/app.css">
6
5
  <link rel="stylesheet" href="/ui/typography.css">
7
6
  <link rel="icon" type="image/svg" href="/ui/fav.svg">
8
7
  <style>
9
- [type='button'],
10
- button[type='submit'] {
11
- cursor: pointer
12
- }
13
-
14
- [type='checkbox'].switch:checked:hover,
8
+ [type='button'],button[type='submit']{cursor:pointer}
9
+ [type='checkbox'].switch:checked:hover,
15
10
  [type='checkbox'].switch:checked:focus,
16
11
  [type='checkbox'].switch:checked,
17
12
  [type='checkbox'].switch:focus,
18
- [type='checkbox'].switch {
19
- border: none;
13
+ [type='checkbox'].switch
14
+ {
15
+ border: none;
20
16
  background: none;
21
17
  outline: none;
22
18
  box-shadow: none;
23
19
  cursor: pointer;
24
20
  }
25
21
  </style>
26
- <script type="importmap"></script>
27
-
28
22
  </head>
29
-
23
+ <script type="importmap">
24
+ {
25
+ "imports": {
26
+ "vue": "/ui/lib/vue.min.mjs",
27
+ "vue-router": "/ui/lib/vue-router.min.mjs",
28
+ "@servicestack/client": "/ui/lib/servicestack-client.mjs",
29
+ "@servicestack/vue": "/ui/lib/servicestack-vue.mjs",
30
+ "idb": "/ui/lib/idb.min.mjs",
31
+ "marked": "/ui/lib/marked.min.mjs",
32
+ "highlight.js": "/ui/lib/highlight.min.mjs",
33
+ "chart.js": "/ui/lib/chart.js",
34
+ "color.js": "/ui/lib/color.js"
35
+ }
36
+ }
37
+ </script>
30
38
  <body>
31
- <div id="app"></div>
39
+ <div id="app"></div>
40
+ </body>
41
+ <script>
42
+ let colorScheme = location.search === "?dark"
43
+ ? "dark"
44
+ : location.search === "?light"
45
+ ? "light"
46
+ : localStorage.getItem('color-scheme')
47
+ let darkMode = colorScheme != null
48
+ ? colorScheme === 'dark'
49
+ : window.matchMedia('(prefers-color-scheme: dark)').matches
50
+ let html = document.documentElement
51
+ html.classList.toggle('dark', darkMode)
52
+ html.style.setProperty('color-scheme', darkMode ? 'dark' : null)
53
+ if (localStorage.getItem('color-scheme') === null) {
54
+ localStorage.setItem('color-scheme', darkMode ? 'dark' : 'light')
55
+ }
56
+ </script>
57
+ <script type="module">
58
+ import { createApp, defineAsyncComponent } from 'vue'
59
+ import { createWebHistory, createRouter } from "vue-router"
60
+ import ServiceStackVue from "@servicestack/vue"
61
+ import App from '/ui/App.mjs'
62
+ import ai from '/ui/ai.mjs'
63
+ import SettingsDialog from '/ui/SettingsDialog.mjs'
32
64
 
33
- <script>
34
- let colorScheme = location.search === "?dark"
35
- ? "dark"
36
- : location.search === "?light"
37
- ? "light"
38
- : localStorage.getItem('color-scheme')
39
- let darkMode = colorScheme != null
40
- ? colorScheme === 'dark'
41
- : window.matchMedia('(prefers-color-scheme: dark)').matches
42
- let html = document.documentElement
43
- html.classList.toggle('dark', darkMode)
44
- html.style.setProperty('color-scheme', darkMode ? 'dark' : null)
45
- if (localStorage.getItem('color-scheme') === null) {
46
- localStorage.setItem('color-scheme', darkMode ? 'dark' : 'light')
47
- }
48
- </script>
49
- <script type="module">
50
- import { createContext } from '/ui/index.mjs'
65
+ const { config, models } = await ai.init()
66
+ const MainComponent = defineAsyncComponent(() => import(ai.base + '/ui/Main.mjs'))
67
+ const RecentsComponent = defineAsyncComponent(() => import(ai.base + '/ui/Recents.mjs'))
68
+ const AnalyticsComponent = defineAsyncComponent(() => import(ai.base + '/ui/Analytics.mjs'))
51
69
 
52
- const context = await createContext()
53
- context.app.mount('#app')
54
- </script>
70
+ const Components = {
71
+ SettingsDialog,
72
+ }
55
73
 
56
- </body>
74
+ const routes = [
75
+ { path: '/', component: MainComponent },
76
+ { path: '/c/:id', component: MainComponent },
77
+ { path: '/recents', component: RecentsComponent },
78
+ { path: '/analytics', component: AnalyticsComponent },
79
+ { path: '/:fallback(.*)*', component: MainComponent }
80
+ ]
81
+ routes.forEach(r => r.path = ai.base + r.path)
82
+ const router = createRouter({
83
+ history: createWebHistory(),
84
+ routes,
85
+ })
86
+ const app = createApp(App, { config, models })
87
+ app.use(router)
88
+ app.use(ServiceStackVue)
89
+ app.provide('ai', ai)
90
+ app.provide('config', config)
91
+ app.provide('models', models)
92
+ Object.keys(Components).forEach(name => {
93
+ app.component(name, Components[name])
94
+ })
95
+
96
+ window.ai = app.config.globalProperties.$ai = ai
57
97
 
98
+ app.mount('#app')
99
+ </script>
58
100
  </html>
llms/llms.json CHANGED
@@ -9,11 +9,10 @@
9
9
  "restrict_to": "GITHUB_USERS"
10
10
  }
11
11
  },
12
- "disable_extensions": [],
13
12
  "defaults": {
14
13
  "headers": {
15
14
  "Content-Type": "application/json",
16
- "User-Agent": "llmspy.org/3.0"
15
+ "User-Agent": "llmspy.org/1.0"
17
16
  },
18
17
  "text": {
19
18
  "model": "kimi-k2",
@@ -30,7 +29,7 @@
30
29
  ]
31
30
  },
32
31
  "image": {
33
- "model": "gemma-3-27b-it",
32
+ "model": "qwen2.5vl",
34
33
  "messages": [
35
34
  {
36
35
  "role": "user",
@@ -91,31 +90,6 @@
91
90
  }
92
91
  ]
93
92
  },
94
- "out:image": {
95
- "model": "gemini-2.5-flash-image",
96
- "messages": [
97
- {
98
- "role": "user",
99
- "content": "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"
100
- }
101
- ],
102
- "modalities": [
103
- "image",
104
- "text"
105
- ],
106
- "image_config": {
107
- "aspect_ratio": "9:16"
108
- },
109
- "stream": false
110
- },
111
- "out:audio": {
112
- "model": "gemini-2.5-flash-preview-tts",
113
- "messages": [],
114
- "modalities": [
115
- "audio"
116
- ],
117
- "stream": false
118
- },
119
93
  "check": {
120
94
  "messages": [
121
95
  {
@@ -199,10 +173,10 @@
199
173
  }
200
174
  },
201
175
  "github-copilot": {
202
- "enabled": true
176
+ "enabled": false
203
177
  },
204
178
  "github-models": {
205
- "enabled": true,
179
+ "enabled": false,
206
180
  "check": {
207
181
  "messages": [
208
182
  {
@@ -226,20 +200,32 @@
226
200
  "enabled": true,
227
201
  "temperature": 1.0
228
202
  },
203
+ "openrouter_free": {
204
+ "enabled": true,
205
+ "id": "openrouter",
206
+ "include_models": ":free$"
207
+ },
229
208
  "ollama": {
230
- "enabled": false,
209
+ "enabled": true,
231
210
  "id": "ollama",
232
211
  "npm": "ollama",
233
212
  "api": "http://localhost:11434"
234
213
  },
235
214
  "lmstudio": {
236
- "enabled": false,
215
+ "enabled": true,
237
216
  "npm": "lmstudio",
238
217
  "api": "http://127.0.0.1:1234/v1",
239
218
  "models": {}
240
219
  },
241
220
  "google": {
242
221
  "enabled": true,
222
+ "map_models": {
223
+ "gemini-flash-latest": "gemini-flash-latest",
224
+ "gemini-flash-lite-latest": "gemini-flash-lite-latest",
225
+ "gemini-2.5-pro": "gemini-2.5-pro",
226
+ "gemini-2.5-flash": "gemini-2.5-flash",
227
+ "gemini-2.5-flash-lite": "gemini-2.5-flash-lite"
228
+ },
243
229
  "safety_settings": [
244
230
  {
245
231
  "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
@@ -250,13 +236,6 @@
250
236
  "thinkingBudget": 1024,
251
237
  "includeThoughts": true
252
238
  },
253
- "speech_config": {
254
- "voiceConfig": {
255
- "prebuiltVoiceConfig": {
256
- "voiceName": "Kore"
257
- }
258
- }
259
- },
260
239
  "check": {
261
240
  "messages": [
262
241
  {
@@ -331,55 +310,27 @@
331
310
  }
332
311
  },
333
312
  "chutes": {
334
- "enabled": true,
335
- "modalities": {
336
- "image": {
337
- "name": "Chutes Image",
338
- "npm": "chutes/image",
339
- "negative_prompt": "blur, distortion, low quality",
340
- "cfg_scale": 7.5,
341
- "width": 1024,
342
- "height": 1024,
343
- "steps": 50
344
- }
345
- }
313
+ "enabled": true
346
314
  },
347
315
  "deepseek": {
348
316
  "enabled": true
349
317
  },
350
318
  "moonshotai": {
351
- "enabled": true
319
+ "enabled": false
352
320
  },
353
321
  "nvidia": {
354
- "enabled": true,
355
- "modalities": {
356
- "image": {
357
- "name": "NVIDIA Gen AI",
358
- "npm": "nvidia/image",
359
- "height": 1024,
360
- "width": 1024,
361
- "cfg_scale": 3.5,
362
- "mode": "base",
363
- "samples": 1,
364
- "steps": 50
365
- }
366
- }
322
+ "enabled": true
367
323
  },
368
324
  "huggingface": {
369
325
  "enabled": true
370
326
  },
371
327
  "fireworks-ai": {
372
- "enabled": true
328
+ "enabled": false
373
329
  },
374
330
  "openrouter": {
375
331
  "enabled": true,
376
332
  "id": "openrouter",
377
- "modalities": {
378
- "image": {
379
- "name": "OpenRouter Image",
380
- "npm": "openrouter/image"
381
- }
382
- }
333
+ "exclude_models": ":free$"
383
334
  }
384
335
  }
385
336
  }