llms-py 2.0.9__py3-none-any.whl → 3.0.10__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 (194) hide show
  1. llms/__init__.py +4 -0
  2. llms/__main__.py +9 -0
  3. llms/db.py +359 -0
  4. llms/extensions/analytics/ui/index.mjs +1444 -0
  5. llms/extensions/app/README.md +20 -0
  6. llms/extensions/app/__init__.py +589 -0
  7. llms/extensions/app/db.py +536 -0
  8. {llms_py-2.0.9.data/data → llms/extensions/app}/ui/Recents.mjs +100 -73
  9. llms_py-2.0.9.data/data/ui/Sidebar.mjs → llms/extensions/app/ui/index.mjs +150 -79
  10. llms/extensions/app/ui/threadStore.mjs +433 -0
  11. llms/extensions/core_tools/CALCULATOR.md +32 -0
  12. llms/extensions/core_tools/__init__.py +637 -0
  13. llms/extensions/core_tools/ui/codemirror/addon/edit/closebrackets.js +201 -0
  14. llms/extensions/core_tools/ui/codemirror/addon/edit/closetag.js +185 -0
  15. llms/extensions/core_tools/ui/codemirror/addon/edit/continuelist.js +101 -0
  16. llms/extensions/core_tools/ui/codemirror/addon/edit/matchbrackets.js +160 -0
  17. llms/extensions/core_tools/ui/codemirror/addon/edit/matchtags.js +66 -0
  18. llms/extensions/core_tools/ui/codemirror/addon/edit/trailingspace.js +27 -0
  19. llms/extensions/core_tools/ui/codemirror/addon/selection/active-line.js +72 -0
  20. llms/extensions/core_tools/ui/codemirror/addon/selection/mark-selection.js +119 -0
  21. llms/extensions/core_tools/ui/codemirror/addon/selection/selection-pointer.js +98 -0
  22. llms/extensions/core_tools/ui/codemirror/codemirror.css +344 -0
  23. llms/extensions/core_tools/ui/codemirror/codemirror.js +9884 -0
  24. llms/extensions/core_tools/ui/codemirror/doc/docs.css +225 -0
  25. llms/extensions/core_tools/ui/codemirror/doc/source_sans.woff +0 -0
  26. llms/extensions/core_tools/ui/codemirror/mode/clike/clike.js +942 -0
  27. llms/extensions/core_tools/ui/codemirror/mode/javascript/index.html +118 -0
  28. llms/extensions/core_tools/ui/codemirror/mode/javascript/javascript.js +962 -0
  29. llms/extensions/core_tools/ui/codemirror/mode/javascript/typescript.html +62 -0
  30. llms/extensions/core_tools/ui/codemirror/mode/python/python.js +402 -0
  31. llms/extensions/core_tools/ui/codemirror/theme/dracula.css +40 -0
  32. llms/extensions/core_tools/ui/codemirror/theme/mocha.css +135 -0
  33. llms/extensions/core_tools/ui/index.mjs +650 -0
  34. llms/extensions/gallery/README.md +61 -0
  35. llms/extensions/gallery/__init__.py +63 -0
  36. llms/extensions/gallery/db.py +243 -0
  37. llms/extensions/gallery/ui/index.mjs +482 -0
  38. llms/extensions/katex/README.md +39 -0
  39. llms/extensions/katex/__init__.py +6 -0
  40. llms/extensions/katex/ui/README.md +125 -0
  41. llms/extensions/katex/ui/contrib/auto-render.js +338 -0
  42. llms/extensions/katex/ui/contrib/auto-render.min.js +1 -0
  43. llms/extensions/katex/ui/contrib/auto-render.mjs +244 -0
  44. llms/extensions/katex/ui/contrib/copy-tex.js +127 -0
  45. llms/extensions/katex/ui/contrib/copy-tex.min.js +1 -0
  46. llms/extensions/katex/ui/contrib/copy-tex.mjs +105 -0
  47. llms/extensions/katex/ui/contrib/mathtex-script-type.js +109 -0
  48. llms/extensions/katex/ui/contrib/mathtex-script-type.min.js +1 -0
  49. llms/extensions/katex/ui/contrib/mathtex-script-type.mjs +24 -0
  50. llms/extensions/katex/ui/contrib/mhchem.js +3213 -0
  51. llms/extensions/katex/ui/contrib/mhchem.min.js +1 -0
  52. llms/extensions/katex/ui/contrib/mhchem.mjs +3109 -0
  53. llms/extensions/katex/ui/contrib/render-a11y-string.js +887 -0
  54. llms/extensions/katex/ui/contrib/render-a11y-string.min.js +1 -0
  55. llms/extensions/katex/ui/contrib/render-a11y-string.mjs +800 -0
  56. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.ttf +0 -0
  57. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff +0 -0
  58. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  59. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  60. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  61. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  62. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  63. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  64. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  65. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  66. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  67. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  68. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  69. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  70. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  71. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.ttf +0 -0
  72. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff +0 -0
  73. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff2 +0 -0
  74. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  75. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  76. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  77. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.ttf +0 -0
  78. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff +0 -0
  79. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff2 +0 -0
  80. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.ttf +0 -0
  81. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff +0 -0
  82. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff2 +0 -0
  83. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  84. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  85. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  86. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.ttf +0 -0
  87. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff +0 -0
  88. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff2 +0 -0
  89. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  90. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  91. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  92. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  93. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  94. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  95. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  96. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  97. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  98. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.ttf +0 -0
  99. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff +0 -0
  100. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff2 +0 -0
  101. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.ttf +0 -0
  102. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff +0 -0
  103. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  104. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.ttf +0 -0
  105. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff +0 -0
  106. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  107. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.ttf +0 -0
  108. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff +0 -0
  109. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  110. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.ttf +0 -0
  111. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff +0 -0
  112. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  113. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  114. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  115. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  116. llms/extensions/katex/ui/index.mjs +92 -0
  117. llms/extensions/katex/ui/katex-swap.css +1230 -0
  118. llms/extensions/katex/ui/katex-swap.min.css +1 -0
  119. llms/extensions/katex/ui/katex.css +1230 -0
  120. llms/extensions/katex/ui/katex.js +19080 -0
  121. llms/extensions/katex/ui/katex.min.css +1 -0
  122. llms/extensions/katex/ui/katex.min.js +1 -0
  123. llms/extensions/katex/ui/katex.min.mjs +1 -0
  124. llms/extensions/katex/ui/katex.mjs +18547 -0
  125. llms/extensions/providers/__init__.py +22 -0
  126. llms/extensions/providers/anthropic.py +233 -0
  127. llms/extensions/providers/cerebras.py +37 -0
  128. llms/extensions/providers/chutes.py +153 -0
  129. llms/extensions/providers/google.py +481 -0
  130. llms/extensions/providers/nvidia.py +103 -0
  131. llms/extensions/providers/openai.py +154 -0
  132. llms/extensions/providers/openrouter.py +74 -0
  133. llms/extensions/providers/zai.py +182 -0
  134. llms/extensions/system_prompts/README.md +22 -0
  135. llms/extensions/system_prompts/__init__.py +45 -0
  136. llms/extensions/system_prompts/ui/index.mjs +280 -0
  137. llms/extensions/system_prompts/ui/prompts.json +1067 -0
  138. llms/extensions/tools/__init__.py +144 -0
  139. llms/extensions/tools/ui/index.mjs +706 -0
  140. llms/index.html +58 -0
  141. llms/llms.json +400 -0
  142. llms/main.py +4407 -0
  143. llms/providers-extra.json +394 -0
  144. llms/providers.json +1 -0
  145. llms/ui/App.mjs +188 -0
  146. llms/ui/ai.mjs +217 -0
  147. llms/ui/app.css +7081 -0
  148. llms/ui/ctx.mjs +412 -0
  149. llms/ui/index.mjs +131 -0
  150. llms/ui/lib/chart.js +14 -0
  151. llms/ui/lib/charts.mjs +16 -0
  152. llms/ui/lib/color.js +14 -0
  153. llms/ui/lib/servicestack-vue.mjs +37 -0
  154. llms/ui/lib/vue.min.mjs +13 -0
  155. llms/ui/lib/vue.mjs +18530 -0
  156. {llms_py-2.0.9.data/data → llms}/ui/markdown.mjs +33 -15
  157. llms/ui/modules/chat/ChatBody.mjs +976 -0
  158. llms/ui/modules/chat/SettingsDialog.mjs +374 -0
  159. llms/ui/modules/chat/index.mjs +991 -0
  160. llms/ui/modules/icons.mjs +46 -0
  161. llms/ui/modules/layout.mjs +271 -0
  162. llms/ui/modules/model-selector.mjs +811 -0
  163. llms/ui/tailwind.input.css +742 -0
  164. {llms_py-2.0.9.data/data → llms}/ui/typography.css +133 -7
  165. llms/ui/utils.mjs +261 -0
  166. llms_py-3.0.10.dist-info/METADATA +49 -0
  167. llms_py-3.0.10.dist-info/RECORD +177 -0
  168. llms_py-3.0.10.dist-info/entry_points.txt +2 -0
  169. {llms_py-2.0.9.dist-info → llms_py-3.0.10.dist-info}/licenses/LICENSE +1 -2
  170. llms.py +0 -1402
  171. llms_py-2.0.9.data/data/index.html +0 -64
  172. llms_py-2.0.9.data/data/llms.json +0 -447
  173. llms_py-2.0.9.data/data/requirements.txt +0 -1
  174. llms_py-2.0.9.data/data/ui/App.mjs +0 -20
  175. llms_py-2.0.9.data/data/ui/ChatPrompt.mjs +0 -389
  176. llms_py-2.0.9.data/data/ui/Main.mjs +0 -680
  177. llms_py-2.0.9.data/data/ui/app.css +0 -3951
  178. llms_py-2.0.9.data/data/ui/lib/servicestack-vue.min.mjs +0 -37
  179. llms_py-2.0.9.data/data/ui/lib/vue.min.mjs +0 -12
  180. llms_py-2.0.9.data/data/ui/tailwind.input.css +0 -261
  181. llms_py-2.0.9.data/data/ui/threadStore.mjs +0 -273
  182. llms_py-2.0.9.data/data/ui/utils.mjs +0 -114
  183. llms_py-2.0.9.data/data/ui.json +0 -1069
  184. llms_py-2.0.9.dist-info/METADATA +0 -941
  185. llms_py-2.0.9.dist-info/RECORD +0 -30
  186. llms_py-2.0.9.dist-info/entry_points.txt +0 -2
  187. {llms_py-2.0.9.data/data → llms}/ui/fav.svg +0 -0
  188. {llms_py-2.0.9.data/data → llms}/ui/lib/highlight.min.mjs +0 -0
  189. {llms_py-2.0.9.data/data → llms}/ui/lib/idb.min.mjs +0 -0
  190. {llms_py-2.0.9.data/data → llms}/ui/lib/marked.min.mjs +0 -0
  191. /llms_py-2.0.9.data/data/ui/lib/servicestack-client.min.mjs → /llms/ui/lib/servicestack-client.mjs +0 -0
  192. {llms_py-2.0.9.data/data → llms}/ui/lib/vue-router.min.mjs +0 -0
  193. {llms_py-2.0.9.dist-info → llms_py-3.0.10.dist-info}/WHEEL +0 -0
  194. {llms_py-2.0.9.dist-info → llms_py-3.0.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,742 @@
1
+ /* tailwindcss -i ./tailwind.input.css -o ./ui/app.css --watch */
2
+ @import "tailwindcss";
3
+ @source "./lib/servicestack-vue.mjs";
4
+ @source "../../extensions";
5
+ @source "../../llms-home/extensions/";
6
+
7
+ @custom-variant dark (&:where(.dark, .dark *));
8
+
9
+ @layer base {
10
+ :root {
11
+ --background: 0 0% 100%;
12
+ --foreground: 222.2 84% 4.9%;
13
+ --border: 214.3 31.8% 91.4%;
14
+ --input: 214.3 31.8% 91.4%;
15
+ --ring: 221.2 83.2% 53.3%;
16
+ --radius: 0.5rem;
17
+ }
18
+
19
+ :root.dark {
20
+ --background: 222.2 84% 4.9%;
21
+ --foreground: 210 40% 98%;
22
+ --border: 217.2 32.6% 17.5%;
23
+ --input: 217.2 32.6% 17.5%;
24
+ --ring: 212.7 26.8% 83.9%;
25
+ }
26
+
27
+ *,
28
+ ::after,
29
+ ::before,
30
+ ::backdrop,
31
+ ::file-selector-button {
32
+ border-color: hsl(var(--border));
33
+ }
34
+
35
+ .reasoning .prose-xs p,
36
+ .reasoning .prose-xs li {
37
+ font-size: 13px;
38
+ }
39
+ }
40
+
41
+ @theme {
42
+ --default-ring-color: hsl(var(--ring));
43
+ }
44
+
45
+ @layer base {
46
+
47
+ /*vue*/
48
+ [v-cloak] {
49
+ display: none
50
+ }
51
+
52
+ /* override element defaults */
53
+ b,
54
+ strong {
55
+ font-weight: 600;
56
+ }
57
+
58
+ ::-webkit-scrollbar {
59
+ width: 8px;
60
+ height: 8px
61
+ }
62
+
63
+ ::-webkit-scrollbar-thumb {
64
+ background-color: #ccc
65
+ }
66
+
67
+ .dark ::-webkit-scrollbar {
68
+ background: #1f2937
69
+ }
70
+
71
+ .dark ::-webkit-scrollbar-thumb {
72
+ background-color: #4b5563
73
+ }
74
+
75
+ [role=dialog].z-10 {
76
+ z-index: 60;
77
+ }
78
+
79
+ em {
80
+ color: #3b82f6;
81
+ font-weight: 400;
82
+ background-color: #eff6ff;
83
+ border-radius: 0.25rem;
84
+ padding: 0.125em 0.5rem;
85
+ margin-left: 0.125em;
86
+ margin-right: 0.125em;
87
+ font-style: normal;
88
+ }
89
+
90
+ .message em {
91
+ background-color: #eff6ff;
92
+ border: 1px solid #3b83f680;
93
+ border-radius: .25rem;
94
+ padding: .2rem .25rem .1rem .25rem
95
+ }
96
+
97
+ /* Chat-specific styles */
98
+ .prose {
99
+ max-width: none;
100
+ }
101
+
102
+ .prose>pre {
103
+ margin-top: 0;
104
+ margin-bottom: 0;
105
+ }
106
+
107
+ .prose pre {
108
+ background-color: #1f2937;
109
+ color: #f9fafb;
110
+ border-radius: 0.5rem;
111
+ padding: 1rem;
112
+ overflow-x: auto;
113
+ }
114
+
115
+ .prose code {
116
+ background-color: #f3f4f6;
117
+ color: #1f2937;
118
+ padding: 0.125rem 0.25rem;
119
+ border-radius: 0.25rem;
120
+ font-size: 0.875em;
121
+ }
122
+
123
+ .prose pre code {
124
+ background-color: transparent;
125
+ color: inherit;
126
+ padding: 0;
127
+ }
128
+
129
+ .prose blockquote {
130
+ border-left: 4px solid #e5e7eb;
131
+ padding-left: 1rem;
132
+ font-style: italic;
133
+ color: #6b7280;
134
+ }
135
+
136
+ .prose table {
137
+ border-collapse: collapse;
138
+ width: 100%;
139
+ }
140
+
141
+ .prose th,
142
+ .prose td {
143
+ border: 1px solid #e5e7eb;
144
+ padding: 0.5rem;
145
+ text-align: left;
146
+ }
147
+
148
+ .prose th {
149
+ background-color: #f9fafb;
150
+ font-weight: 600;
151
+ }
152
+
153
+ /* Tool specific styles to override global prose */
154
+ .tool-arguments,
155
+ .tool-output {
156
+ margin: 0 !important;
157
+ padding: 0 !important;
158
+ background-color: transparent !important;
159
+ color: inherit !important;
160
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
161
+ font-size: 0.75rem !important;
162
+ white-space: pre-wrap !important;
163
+ word-break: break-all !important;
164
+ border: none !important;
165
+ border-radius: 0 !important;
166
+ overflow: auto !important;
167
+ }
168
+
169
+ /* highlight.js - vs.css */
170
+ .hljs {
171
+ background: white;
172
+ color: black
173
+ }
174
+
175
+ .hljs-comment,
176
+ .hljs-quote,
177
+ .hljs-variable {
178
+ color: #008000
179
+ }
180
+
181
+ .hljs-keyword,
182
+ .hljs-selector-tag,
183
+ .hljs-built_in,
184
+ .hljs-name,
185
+ .hljs-tag {
186
+ color: #00f
187
+ }
188
+
189
+ .hljs-string,
190
+ .hljs-title,
191
+ .hljs-section,
192
+ .hljs-attribute,
193
+ .hljs-literal,
194
+ .hljs-template-tag,
195
+ .hljs-template-variable,
196
+ .hljs-type,
197
+ .hljs-addition {
198
+ color: #a31515
199
+ }
200
+
201
+ .hljs-deletion,
202
+ .hljs-selector-attr,
203
+ .hljs-selector-pseudo,
204
+ .hljs-meta {
205
+ color: #2b91af
206
+ }
207
+
208
+ .hljs-doctag {
209
+ color: #808080
210
+ }
211
+
212
+ .hljs-attr {
213
+ color: #f00
214
+ }
215
+
216
+ .hljs-symbol,
217
+ .hljs-bullet,
218
+ .hljs-link {
219
+ color: #00b0e8
220
+ }
221
+
222
+ .hljs-emphasis {
223
+ font-style: italic
224
+ }
225
+
226
+ .hljs-strong {
227
+ font-weight: bold
228
+ }
229
+
230
+ /* https://unpkg.com/@highlightjs/cdn-assets/styles/atom-one-dark.min.css */
231
+ pre code.hljs {
232
+ display: block;
233
+ overflow-x: auto;
234
+ padding: 1em
235
+ }
236
+
237
+ code.hljs {
238
+ padding: 3px 5px
239
+ }
240
+
241
+ .hljs {
242
+ color: #abb2bf;
243
+ background: #282c34
244
+ }
245
+
246
+ .hljs-comment,
247
+ .hljs-quote {
248
+ color: #5c6370;
249
+ font-style: italic
250
+ }
251
+
252
+ .hljs-doctag,
253
+ .hljs-formula,
254
+ .hljs-keyword {
255
+ color: #c678dd
256
+ }
257
+
258
+ .hljs-deletion,
259
+ .hljs-name,
260
+ .hljs-section,
261
+ .hljs-selector-tag,
262
+ .hljs-subst,
263
+ .hljs-tag {
264
+ color: #e06c75
265
+ }
266
+
267
+ .hljs-literal {
268
+ color: #56b6c2
269
+ }
270
+
271
+ .hljs-addition,
272
+ .hljs-attribute,
273
+ .hljs-meta .hljs-string,
274
+ .hljs-regexp,
275
+ .hljs-string {
276
+ color: #98c379
277
+ }
278
+
279
+ .hljs-attr,
280
+ .hljs-number,
281
+ .hljs-selector-attr,
282
+ .hljs-selector-class,
283
+ .hljs-selector-pseudo,
284
+ .hljs-template-variable,
285
+ .hljs-type,
286
+ .hljs-variable {
287
+ color: #d19a66
288
+ }
289
+
290
+ .hljs-bullet,
291
+ .hljs-link,
292
+ .hljs-meta,
293
+ .hljs-selector-id,
294
+ .hljs-symbol,
295
+ .hljs-title {
296
+ color: #61aeee
297
+ }
298
+
299
+ .hljs-built_in,
300
+ .hljs-class .hljs-title,
301
+ .hljs-title.class_ {
302
+ color: #e6c07b
303
+ }
304
+
305
+ .hljs-emphasis {
306
+ font-style: italic
307
+ }
308
+
309
+ .hljs-strong {
310
+ font-weight: 700
311
+ }
312
+
313
+ .hljs-link {
314
+ text-decoration: underline
315
+ }
316
+
317
+ /*highlightjs*/
318
+ .hljs,
319
+ .prose :where(pre):not(:where([class~="not-prose"] *)) .hljs {
320
+ color: #e5e7eb !important;
321
+ background-color: #282c34 !important;
322
+ }
323
+
324
+ .prose :where(h1):not(:where([class~="not-prose"] *)) {
325
+ font-weight: 700 !important;
326
+ }
327
+
328
+ .hljs-comment,
329
+ .hljs-quote {
330
+ color: rgb(148 163 184);
331
+ /*text-slate-400*/
332
+ }
333
+
334
+ pre {
335
+ overflow-x: auto;
336
+ font-weight: 400;
337
+ font-size: .875em;
338
+ line-height: 1.7142857;
339
+ margin-top: 1.7142857em;
340
+ margin-bottom: 1.7142857em;
341
+ border-radius: .375rem;
342
+ padding: .8571429em 1.1428571em;
343
+ max-width: calc(100vw - 1rem);
344
+ min-width: fit-content;
345
+ /* background-color: #282c34 !important; overrides CodeMirror */
346
+ }
347
+
348
+ pre code.hljs {
349
+ display: block;
350
+ overflow-x: auto;
351
+ padding: 1em;
352
+ }
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
+
392
+ .message pre {
393
+ max-width: 100%;
394
+ min-width: auto;
395
+ }
396
+
397
+ .message pre code.hljs {
398
+ overflow-x: unset;
399
+ width: 100%;
400
+ }
401
+
402
+ /* Smooth transitions */
403
+ .transition-all {
404
+ transition-property: all;
405
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
406
+ transition-duration: 150ms;
407
+ }
408
+
409
+ /* Focus styles */
410
+ .focus-ring:focus {
411
+ outline: 2px solid transparent;
412
+ outline-offset: 2px;
413
+ box-shadow: 0 0 0 2px #3b82f6;
414
+ }
415
+
416
+ /* @tailwindcss/forms css */
417
+ [type='text'],
418
+ [type='email'],
419
+ [type='url'],
420
+ [type='password'],
421
+ [type='number'],
422
+ [type='date'],
423
+ [type='datetime-local'],
424
+ [type='month'],
425
+ [type='week'],
426
+ [type='search'],
427
+ [type='tel'],
428
+ [type='time'],
429
+ [type='color'],
430
+ [multiple],
431
+ textarea,
432
+ select {
433
+ -webkit-appearance: none;
434
+ -moz-appearance: none;
435
+ appearance: none;
436
+ background-color: #fff;
437
+ border-width: 1px;
438
+ padding: 0.5rem 0.75rem;
439
+ font-size: 1rem
440
+ }
441
+
442
+ .dark [type='text'],
443
+ .dark [type='email'],
444
+ .dark [type='url'],
445
+ .dark [type='password'],
446
+ .dark [type='number'],
447
+ .dark [type='date'],
448
+ .dark [type='datetime-local'],
449
+ .dark [type='month'],
450
+ .dark [type='week'],
451
+ .dark [type='search'],
452
+ .dark [type='tel'],
453
+ .dark [type='time'],
454
+ .dark [type='color'],
455
+ .dark [multiple],
456
+ .dark textarea,
457
+ .dark select {
458
+ background-color: var(--color-gray-800)
459
+ }
460
+
461
+ [type='text']:focus,
462
+ [type='email']:focus,
463
+ [type='url']:focus,
464
+ [type='password']:focus,
465
+ [type='number']:focus,
466
+ [type='date']:focus,
467
+ [type='datetime-local']:focus,
468
+ [type='month']:focus,
469
+ [type='week']:focus,
470
+ [type='search']:focus,
471
+ [type='tel']:focus,
472
+ [type='time']:focus,
473
+ [type='color']:focus,
474
+ [multiple]:focus,
475
+ textarea:focus,
476
+ select:focus {
477
+ outline: 2px solid transparent;
478
+ outline-offset: 2px;
479
+ --tw-ring-inset: var(--tw-empty,
480
+ /*!*/
481
+ /*!*/
482
+ );
483
+ --tw-ring-offset-width: 0px;
484
+ --tw-ring-offset-color: #fff;
485
+ --tw-ring-color: #2563eb;
486
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
487
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
488
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
489
+ border-color: #2563eb;
490
+ }
491
+
492
+ input::-moz-placeholder,
493
+ textarea::-moz-placeholder {
494
+ color: #6b7280;
495
+ opacity: 1
496
+ }
497
+
498
+ input:-ms-input-placeholder,
499
+ textarea:-ms-input-placeholder {
500
+ color: #6b7280;
501
+ opacity: 1
502
+ }
503
+
504
+ input::placeholder,
505
+ textarea::placeholder {
506
+ color: #6b7280;
507
+ opacity: 1
508
+ }
509
+
510
+ select {
511
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
512
+ background-position: right 0.5rem center;
513
+ background-repeat: no-repeat;
514
+ background-size: 1.5em 1.5em;
515
+ padding-right: 2.5rem;
516
+ -webkit-print-color-adjust: exact;
517
+ color-adjust: exact
518
+ }
519
+
520
+ [multiple] {
521
+ background-image: initial;
522
+ background-position: initial;
523
+ background-repeat: unset;
524
+ background-size: initial;
525
+ padding-right: 0.75rem;
526
+ -webkit-print-color-adjust: unset;
527
+ color-adjust: unset;
528
+ }
529
+
530
+ [type='checkbox'],
531
+ [type='radio'] {
532
+ -webkit-appearance: none;
533
+ -moz-appearance: none;
534
+ appearance: none;
535
+ padding: 0;
536
+ -webkit-print-color-adjust: exact;
537
+ color-adjust: exact;
538
+ display: inline-block;
539
+ vertical-align: middle;
540
+ background-origin: border-box;
541
+ -webkit-user-select: none;
542
+ -moz-user-select: none;
543
+ -ms-user-select: none;
544
+ user-select: none;
545
+ flex-shrink: 0;
546
+ height: 1rem;
547
+ width: 1rem;
548
+ color: #2563eb;
549
+ background-color: #fff;
550
+ border-width: 1px
551
+ }
552
+
553
+ [type='radio'] {
554
+ border-radius: 100%
555
+ }
556
+
557
+ [type='checkbox']:focus,
558
+ [type='radio']:focus {
559
+ outline: 2px solid transparent;
560
+ outline-offset: 2px;
561
+ --tw-ring-inset: var(--tw-empty,
562
+ /*!*/
563
+ /*!*/
564
+ );
565
+ --tw-ring-offset-width: 2px;
566
+ --tw-ring-offset-color: #fff;
567
+ --tw-ring-color: #2563eb;
568
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
569
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
570
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
571
+ }
572
+
573
+ [type='checkbox']:checked,
574
+ [type='radio']:checked {
575
+ border-color: transparent;
576
+ background-color: currentColor;
577
+ background-size: 100% 100%;
578
+ background-position: center;
579
+ background-repeat: no-repeat
580
+ }
581
+
582
+ [type='checkbox']:checked {
583
+ background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")
584
+ }
585
+
586
+ [type='radio']:checked {
587
+ background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")
588
+ }
589
+
590
+ [type='checkbox']:checked:hover,
591
+ [type='checkbox']:checked:focus,
592
+ [type='radio']:checked:hover,
593
+ [type='radio']:checked:focus {
594
+ border-color: transparent;
595
+ background-color: currentColor
596
+ }
597
+
598
+ [type='checkbox']:indeterminate {
599
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
600
+ border-color: transparent;
601
+ background-color: currentColor;
602
+ background-size: 100% 100%;
603
+ background-position: center;
604
+ background-repeat: no-repeat
605
+ }
606
+
607
+ [type='checkbox']:indeterminate:hover,
608
+ [type='checkbox']:indeterminate:focus {
609
+ border-color: transparent;
610
+ background-color: currentColor
611
+ }
612
+
613
+ [type='file'] {
614
+ background: unset;
615
+ border-color: inherit;
616
+ border-width: 0;
617
+ border-radius: 0;
618
+ padding: 0;
619
+ font-size: unset;
620
+ line-height: inherit
621
+ }
622
+
623
+ [type='file']:focus {
624
+ outline: 1px auto -webkit-focus-ring-color;
625
+ }
626
+
627
+ [type='color'] {
628
+ height: 2.4rem;
629
+ padding: 2px 3px
630
+ }
631
+
632
+ [type='range'] {
633
+ height: 2.4rem
634
+ }
635
+
636
+ [type='button'],
637
+ button[type='submit'] {
638
+ cursor: pointer
639
+ }
640
+
641
+ @media (min-width: 640px) {
642
+
643
+ [type='text'],
644
+ [type='email'],
645
+ [type='url'],
646
+ [type='password'],
647
+ [type='number'],
648
+ [type='date'],
649
+ [type='datetime-local'],
650
+ [type='month'],
651
+ [type='week'],
652
+ [type='search'],
653
+ [type='tel'],
654
+ [type='time'],
655
+ [type='color'],
656
+ [multiple],
657
+ textarea,
658
+ select {
659
+ font-size: .875rem;
660
+ line-height: 1.25rem;
661
+ }
662
+ }
663
+
664
+ /* dark mode autocomplete fields */
665
+ .dark input:-webkit-autofill,
666
+ .dark input:-webkit-autofill:hover,
667
+ .dark input:-webkit-autofill:focus,
668
+ .dark input:-webkit-autofill:active {
669
+ transition: background-color 5000s ease-in-out 0s;
670
+ -webkit-text-fill-color: #ffffff;
671
+ }
672
+
673
+ .dark input[data-autocompleted] {
674
+ background-color: transparent !important;
675
+ }
676
+
677
+ /* @tailwindcss/aspect css */
678
+ .aspect-h-9 {
679
+ --tw-aspect-h: 9;
680
+ }
681
+
682
+ .aspect-w-16 {
683
+ position: relative;
684
+ padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
685
+ --tw-aspect-w: 16;
686
+ }
687
+
688
+ .aspect-w-16>* {
689
+ position: absolute;
690
+ height: 100%;
691
+ width: 100%;
692
+ top: 0;
693
+ right: 0;
694
+ bottom: 0;
695
+ left: 0;
696
+ }
697
+
698
+
699
+ @media (min-width: 640px) {
700
+ .message pre {
701
+ max-width: 500px !important;
702
+ }
703
+
704
+ .has-iframes {
705
+ min-width: 640px;
706
+ }
707
+ }
708
+
709
+ @media (min-width: 768px) {
710
+ .message pre {
711
+ max-width: 600px !important;
712
+ }
713
+
714
+ .has-iframes {
715
+ min-width: 640px;
716
+ }
717
+ }
718
+
719
+ @media (min-width: 1024px) {
720
+
721
+ .message pre,
722
+ .message .prose pre {
723
+ max-width: 700px !important;
724
+ }
725
+
726
+ .has-iframes {
727
+ min-width: 740px;
728
+ }
729
+ }
730
+
731
+ @media (min-width: 1280px) {
732
+
733
+ .message pre,
734
+ .message .prose pre {
735
+ max-width: 800px !important;
736
+ }
737
+
738
+ .has-iframes {
739
+ min-width: 840px;
740
+ }
741
+ }
742
+ }