llms-py 2.0.20__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 (190) hide show
  1. llms/__init__.py +3 -1
  2. llms/db.py +359 -0
  3. llms/{ui/Analytics.mjs → extensions/analytics/ui/index.mjs} +254 -327
  4. llms/extensions/app/README.md +20 -0
  5. llms/extensions/app/__init__.py +589 -0
  6. llms/extensions/app/db.py +536 -0
  7. llms/{ui → extensions/app/ui}/Recents.mjs +99 -73
  8. llms/{ui/Sidebar.mjs → extensions/app/ui/index.mjs} +139 -68
  9. llms/extensions/app/ui/threadStore.mjs +433 -0
  10. llms/extensions/core_tools/CALCULATOR.md +32 -0
  11. llms/extensions/core_tools/__init__.py +637 -0
  12. llms/extensions/core_tools/ui/codemirror/addon/edit/closebrackets.js +201 -0
  13. llms/extensions/core_tools/ui/codemirror/addon/edit/closetag.js +185 -0
  14. llms/extensions/core_tools/ui/codemirror/addon/edit/continuelist.js +101 -0
  15. llms/extensions/core_tools/ui/codemirror/addon/edit/matchbrackets.js +160 -0
  16. llms/extensions/core_tools/ui/codemirror/addon/edit/matchtags.js +66 -0
  17. llms/extensions/core_tools/ui/codemirror/addon/edit/trailingspace.js +27 -0
  18. llms/extensions/core_tools/ui/codemirror/addon/selection/active-line.js +72 -0
  19. llms/extensions/core_tools/ui/codemirror/addon/selection/mark-selection.js +119 -0
  20. llms/extensions/core_tools/ui/codemirror/addon/selection/selection-pointer.js +98 -0
  21. llms/extensions/core_tools/ui/codemirror/codemirror.css +344 -0
  22. llms/extensions/core_tools/ui/codemirror/codemirror.js +9884 -0
  23. llms/extensions/core_tools/ui/codemirror/doc/docs.css +225 -0
  24. llms/extensions/core_tools/ui/codemirror/doc/source_sans.woff +0 -0
  25. llms/extensions/core_tools/ui/codemirror/mode/clike/clike.js +942 -0
  26. llms/extensions/core_tools/ui/codemirror/mode/javascript/index.html +118 -0
  27. llms/extensions/core_tools/ui/codemirror/mode/javascript/javascript.js +962 -0
  28. llms/extensions/core_tools/ui/codemirror/mode/javascript/typescript.html +62 -0
  29. llms/extensions/core_tools/ui/codemirror/mode/python/python.js +402 -0
  30. llms/extensions/core_tools/ui/codemirror/theme/dracula.css +40 -0
  31. llms/extensions/core_tools/ui/codemirror/theme/mocha.css +135 -0
  32. llms/extensions/core_tools/ui/index.mjs +650 -0
  33. llms/extensions/gallery/README.md +61 -0
  34. llms/extensions/gallery/__init__.py +63 -0
  35. llms/extensions/gallery/db.py +243 -0
  36. llms/extensions/gallery/ui/index.mjs +482 -0
  37. llms/extensions/katex/README.md +39 -0
  38. llms/extensions/katex/__init__.py +6 -0
  39. llms/extensions/katex/ui/README.md +125 -0
  40. llms/extensions/katex/ui/contrib/auto-render.js +338 -0
  41. llms/extensions/katex/ui/contrib/auto-render.min.js +1 -0
  42. llms/extensions/katex/ui/contrib/auto-render.mjs +244 -0
  43. llms/extensions/katex/ui/contrib/copy-tex.js +127 -0
  44. llms/extensions/katex/ui/contrib/copy-tex.min.js +1 -0
  45. llms/extensions/katex/ui/contrib/copy-tex.mjs +105 -0
  46. llms/extensions/katex/ui/contrib/mathtex-script-type.js +109 -0
  47. llms/extensions/katex/ui/contrib/mathtex-script-type.min.js +1 -0
  48. llms/extensions/katex/ui/contrib/mathtex-script-type.mjs +24 -0
  49. llms/extensions/katex/ui/contrib/mhchem.js +3213 -0
  50. llms/extensions/katex/ui/contrib/mhchem.min.js +1 -0
  51. llms/extensions/katex/ui/contrib/mhchem.mjs +3109 -0
  52. llms/extensions/katex/ui/contrib/render-a11y-string.js +887 -0
  53. llms/extensions/katex/ui/contrib/render-a11y-string.min.js +1 -0
  54. llms/extensions/katex/ui/contrib/render-a11y-string.mjs +800 -0
  55. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.ttf +0 -0
  56. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff +0 -0
  57. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  58. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  59. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  60. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  61. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  62. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  63. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  64. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  65. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  66. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  67. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  68. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  69. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  70. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.ttf +0 -0
  71. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff +0 -0
  72. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff2 +0 -0
  73. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  74. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  75. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  76. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.ttf +0 -0
  77. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff +0 -0
  78. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff2 +0 -0
  79. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.ttf +0 -0
  80. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff +0 -0
  81. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff2 +0 -0
  82. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  83. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  84. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  85. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.ttf +0 -0
  86. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff +0 -0
  87. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff2 +0 -0
  88. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  89. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  90. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  91. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  92. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  93. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  94. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  95. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  96. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  97. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.ttf +0 -0
  98. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff +0 -0
  99. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff2 +0 -0
  100. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.ttf +0 -0
  101. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff +0 -0
  102. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  103. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.ttf +0 -0
  104. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff +0 -0
  105. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  106. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.ttf +0 -0
  107. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff +0 -0
  108. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  109. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.ttf +0 -0
  110. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff +0 -0
  111. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  112. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  113. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  114. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  115. llms/extensions/katex/ui/index.mjs +92 -0
  116. llms/extensions/katex/ui/katex-swap.css +1230 -0
  117. llms/extensions/katex/ui/katex-swap.min.css +1 -0
  118. llms/extensions/katex/ui/katex.css +1230 -0
  119. llms/extensions/katex/ui/katex.js +19080 -0
  120. llms/extensions/katex/ui/katex.min.css +1 -0
  121. llms/extensions/katex/ui/katex.min.js +1 -0
  122. llms/extensions/katex/ui/katex.min.mjs +1 -0
  123. llms/extensions/katex/ui/katex.mjs +18547 -0
  124. llms/extensions/providers/__init__.py +22 -0
  125. llms/extensions/providers/anthropic.py +233 -0
  126. llms/extensions/providers/cerebras.py +37 -0
  127. llms/extensions/providers/chutes.py +153 -0
  128. llms/extensions/providers/google.py +481 -0
  129. llms/extensions/providers/nvidia.py +103 -0
  130. llms/extensions/providers/openai.py +154 -0
  131. llms/extensions/providers/openrouter.py +74 -0
  132. llms/extensions/providers/zai.py +182 -0
  133. llms/extensions/system_prompts/README.md +22 -0
  134. llms/extensions/system_prompts/__init__.py +45 -0
  135. llms/extensions/system_prompts/ui/index.mjs +280 -0
  136. llms/extensions/system_prompts/ui/prompts.json +1067 -0
  137. llms/extensions/tools/__init__.py +144 -0
  138. llms/extensions/tools/ui/index.mjs +706 -0
  139. llms/index.html +36 -62
  140. llms/llms.json +180 -879
  141. llms/main.py +3640 -899
  142. llms/providers-extra.json +394 -0
  143. llms/providers.json +1 -0
  144. llms/ui/App.mjs +176 -8
  145. llms/ui/ai.mjs +156 -20
  146. llms/ui/app.css +3161 -244
  147. llms/ui/ctx.mjs +412 -0
  148. llms/ui/index.mjs +131 -0
  149. llms/ui/lib/chart.js +14 -0
  150. llms/ui/lib/charts.mjs +16 -0
  151. llms/ui/lib/color.js +14 -0
  152. llms/ui/lib/highlight.min.mjs +1243 -0
  153. llms/ui/lib/idb.min.mjs +8 -0
  154. llms/ui/lib/marked.min.mjs +8 -0
  155. llms/ui/lib/servicestack-client.mjs +1 -0
  156. llms/ui/lib/servicestack-vue.mjs +37 -0
  157. llms/ui/lib/vue-router.min.mjs +6 -0
  158. llms/ui/lib/vue.min.mjs +13 -0
  159. llms/ui/lib/vue.mjs +18530 -0
  160. llms/ui/markdown.mjs +25 -14
  161. llms/ui/modules/chat/ChatBody.mjs +976 -0
  162. llms/ui/{SettingsDialog.mjs → modules/chat/SettingsDialog.mjs} +74 -74
  163. llms/ui/modules/chat/index.mjs +991 -0
  164. llms/ui/modules/icons.mjs +46 -0
  165. llms/ui/modules/layout.mjs +271 -0
  166. llms/ui/modules/model-selector.mjs +811 -0
  167. llms/ui/tailwind.input.css +550 -78
  168. llms/ui/typography.css +54 -36
  169. llms/ui/utils.mjs +197 -92
  170. llms_py-3.0.10.dist-info/METADATA +49 -0
  171. llms_py-3.0.10.dist-info/RECORD +177 -0
  172. {llms_py-2.0.20.dist-info → llms_py-3.0.10.dist-info}/licenses/LICENSE +1 -2
  173. llms/ui/Avatar.mjs +0 -28
  174. llms/ui/Brand.mjs +0 -34
  175. llms/ui/ChatPrompt.mjs +0 -443
  176. llms/ui/Main.mjs +0 -740
  177. llms/ui/ModelSelector.mjs +0 -60
  178. llms/ui/ProviderIcon.mjs +0 -29
  179. llms/ui/ProviderStatus.mjs +0 -105
  180. llms/ui/SignIn.mjs +0 -64
  181. llms/ui/SystemPromptEditor.mjs +0 -31
  182. llms/ui/SystemPromptSelector.mjs +0 -36
  183. llms/ui/Welcome.mjs +0 -8
  184. llms/ui/threadStore.mjs +0 -524
  185. llms/ui.json +0 -1069
  186. llms_py-2.0.20.dist-info/METADATA +0 -931
  187. llms_py-2.0.20.dist-info/RECORD +0 -36
  188. {llms_py-2.0.20.dist-info → llms_py-3.0.10.dist-info}/WHEEL +0 -0
  189. {llms_py-2.0.20.dist-info → llms_py-3.0.10.dist-info}/entry_points.txt +0 -0
  190. {llms_py-2.0.20.dist-info → llms_py-3.0.10.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,8 @@
1
1
  /* tailwindcss -i ./tailwind.input.css -o ./ui/app.css --watch */
2
2
  @import "tailwindcss";
3
3
  @source "./lib/servicestack-vue.mjs";
4
+ @source "../../extensions";
5
+ @source "../../llms-home/extensions/";
4
6
 
5
7
  @custom-variant dark (&:where(.dark, .dark *));
6
8
 
@@ -13,6 +15,7 @@
13
15
  --ring: 221.2 83.2% 53.3%;
14
16
  --radius: 0.5rem;
15
17
  }
18
+
16
19
  :root.dark {
17
20
  --background: 222.2 84% 4.9%;
18
21
  --foreground: 210 40% 98%;
@@ -28,6 +31,11 @@
28
31
  ::file-selector-button {
29
32
  border-color: hsl(var(--border));
30
33
  }
34
+
35
+ .reasoning .prose-xs p,
36
+ .reasoning .prose-xs li {
37
+ font-size: 13px;
38
+ }
31
39
  }
32
40
 
33
41
  @theme {
@@ -37,15 +45,37 @@
37
45
  @layer base {
38
46
 
39
47
  /*vue*/
40
- [v-cloak] {display:none}
48
+ [v-cloak] {
49
+ display: none
50
+ }
41
51
 
42
52
  /* override element defaults */
43
- b, strong { font-weight:600; }
44
- ::-webkit-scrollbar{width:8px;height:8px}
45
- ::-webkit-scrollbar-thumb{background-color:#ccc}
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
+
46
75
  [role=dialog].z-10 {
47
76
  z-index: 60;
48
77
  }
78
+
49
79
  em {
50
80
  color: #3b82f6;
51
81
  font-weight: 400;
@@ -56,18 +86,24 @@
56
86
  margin-right: 0.125em;
57
87
  font-style: normal;
58
88
  }
89
+
59
90
  .message em {
60
- background-color: #eff6ff;border:1px solid #3b83f680;border-radius: .25rem;padding: .2rem .25rem .1rem .25rem
91
+ background-color: #eff6ff;
92
+ border: 1px solid #3b83f680;
93
+ border-radius: .25rem;
94
+ padding: .2rem .25rem .1rem .25rem
61
95
  }
62
96
 
63
97
  /* Chat-specific styles */
64
98
  .prose {
65
99
  max-width: none;
66
100
  }
67
- .prose > pre {
101
+
102
+ .prose>pre {
68
103
  margin-top: 0;
69
104
  margin-bottom: 0;
70
105
  }
106
+
71
107
  .prose pre {
72
108
  background-color: #1f2937;
73
109
  color: #f9fafb;
@@ -75,6 +111,7 @@
75
111
  padding: 1rem;
76
112
  overflow-x: auto;
77
113
  }
114
+
78
115
  .prose code {
79
116
  background-color: #f3f4f6;
80
117
  color: #1f2937;
@@ -82,62 +119,216 @@
82
119
  border-radius: 0.25rem;
83
120
  font-size: 0.875em;
84
121
  }
122
+
85
123
  .prose pre code {
86
124
  background-color: transparent;
87
125
  color: inherit;
88
126
  padding: 0;
89
127
  }
128
+
90
129
  .prose blockquote {
91
130
  border-left: 4px solid #e5e7eb;
92
131
  padding-left: 1rem;
93
132
  font-style: italic;
94
133
  color: #6b7280;
95
134
  }
135
+
96
136
  .prose table {
97
137
  border-collapse: collapse;
98
138
  width: 100%;
99
139
  }
140
+
100
141
  .prose th,
101
142
  .prose td {
102
143
  border: 1px solid #e5e7eb;
103
144
  padding: 0.5rem;
104
145
  text-align: left;
105
146
  }
147
+
106
148
  .prose th {
107
149
  background-color: #f9fafb;
108
150
  font-weight: 600;
109
151
  }
110
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
+
111
169
  /* highlight.js - vs.css */
112
- .hljs {background:white;color:black}
113
- .hljs-comment,.hljs-quote,.hljs-variable{color:#008000}
114
- .hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-name,.hljs-tag{color:#00f}
115
- .hljs-string,.hljs-title,.hljs-section,.hljs-attribute,.hljs-literal,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-addition{color:#a31515}
116
- .hljs-deletion,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-meta{color:#2b91af}
117
- .hljs-doctag{color:#808080}
118
- .hljs-attr{color: #f00}
119
- .hljs-symbol,.hljs-bullet,.hljs-link{color:#00b0e8}
120
- .hljs-emphasis{font-style:italic}
121
- .hljs-strong{font-weight:bold}
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
+ }
122
229
 
123
230
  /* https://unpkg.com/@highlightjs/cdn-assets/styles/atom-one-dark.min.css */
124
- pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}
125
- .hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}
126
- .hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst,.hljs-tag{color:#e06c75}
127
- .hljs-literal{color:#56b6c2}
128
- .hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}
129
- .hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}
130
- .hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}
131
- .hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}
132
- .hljs-link{text-decoration:underline}
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
+ }
133
316
 
134
317
  /*highlightjs*/
135
- .hljs, .prose :where(pre):not(:where([class~="not-prose"] *)) .hljs {
318
+ .hljs,
319
+ .prose :where(pre):not(:where([class~="not-prose"] *)) .hljs {
136
320
  color: #e5e7eb !important;
137
321
  background-color: #282c34 !important;
138
322
  }
139
- .hljs-comment, .hljs-quote {
140
- color: rgb(148 163 184); /*text-slate-400*/
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*/
141
332
  }
142
333
 
143
334
  pre {
@@ -151,17 +342,58 @@
151
342
  padding: .8571429em 1.1428571em;
152
343
  max-width: calc(100vw - 1rem);
153
344
  min-width: fit-content;
154
- background-color: #282c34 !important;
345
+ /* background-color: #282c34 !important; overrides CodeMirror */
155
346
  }
347
+
156
348
  pre code.hljs {
157
349
  display: block;
158
350
  overflow-x: auto;
159
351
  padding: 1em;
160
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
+
161
392
  .message pre {
162
393
  max-width: 100%;
163
394
  min-width: auto;
164
395
  }
396
+
165
397
  .message pre code.hljs {
166
398
  overflow-x: unset;
167
399
  width: 100%;
@@ -180,57 +412,250 @@
180
412
  outline-offset: 2px;
181
413
  box-shadow: 0 0 0 2px #3b82f6;
182
414
  }
415
+
183
416
  /* @tailwindcss/forms css */
184
- [type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='week'],[type='search'],[type='tel'],[type='time'],[type='color'],[multiple],textarea,select
185
- {-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-width:1px;padding:0.5rem 0.75rem;font-size:1rem}
186
- .dark [type='text'],.dark [type='email'],.dark [type='url'],.dark [type='password'],.dark [type='number'],.dark [type='date'],.dark [type='datetime-local'],.dark [type='month'],.dark [type='week'],.dark [type='search'],.dark [type='tel'],.dark [type='time'],.dark [type='color'],.dark [multiple],.dark textarea,.dark select
187
- {background-color:var(--color-gray-800)}
188
-
189
- [type='text']:focus,[type='email']:focus,[type='url']:focus,[type='password']:focus,[type='number']:focus,[type='date']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='week']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='color']:focus,[multiple]:focus,textarea:focus,select:focus{
190
- outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);
191
- --tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;
192
- --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
193
- --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
194
- box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);border-color:#2563eb;}
195
- input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}
196
- input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#6b7280;opacity:1}
197
- input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}
198
- select{
199
- 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");
200
- background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}
201
- [multiple]{
202
- background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:0.75rem;-webkit-print-color-adjust:unset;color-adjust:unset;}
203
- [type='checkbox'],[type='radio']{
204
- -webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;
205
- vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;
206
- flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-width:1px}
207
- [type='radio']{border-radius:100%}
208
- [type='checkbox']:focus,[type='radio']:focus{
209
- outline:2px solid transparent;outline-offset:2px;
210
- --tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;
211
- --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
212
- --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
213
- box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}
214
- [type='checkbox']:checked,[type='radio']:checked{
215
- border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}
216
- [type='checkbox']:checked{
217
- 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")}
218
- [type='radio']:checked{
219
- 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")}
220
- [type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus{
221
- border-color:transparent;background-color:currentColor}
222
- [type='checkbox']:indeterminate{
223
- 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");
224
- border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}
225
- [type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus{border-color:transparent;background-color:currentColor}
226
- [type='file']{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}
227
- [type='file']:focus{outline:1px auto -webkit-focus-ring-color;}
228
- [type='color']{height:2.4rem;padding:2px 3px}
229
- [type='range']{height:2.4rem}
230
- [type='button'],button[type='submit']{cursor:pointer}
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
+ }
231
640
 
232
641
  @media (min-width: 640px) {
233
- [type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='week'],[type='search'],[type='tel'],[type='time'],[type='color'],[multiple],textarea,select {
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 {
234
659
  font-size: .875rem;
235
660
  line-height: 1.25rem;
236
661
  }
@@ -244,6 +669,7 @@
244
669
  transition: background-color 5000s ease-in-out 0s;
245
670
  -webkit-text-fill-color: #ffffff;
246
671
  }
672
+
247
673
  .dark input[data-autocompleted] {
248
674
  background-color: transparent !important;
249
675
  }
@@ -252,12 +678,14 @@
252
678
  .aspect-h-9 {
253
679
  --tw-aspect-h: 9;
254
680
  }
681
+
255
682
  .aspect-w-16 {
256
683
  position: relative;
257
684
  padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
258
685
  --tw-aspect-w: 16;
259
686
  }
260
- .aspect-w-16 > * {
687
+
688
+ .aspect-w-16>* {
261
689
  position: absolute;
262
690
  height: 100%;
263
691
  width: 100%;
@@ -267,4 +695,48 @@
267
695
  left: 0;
268
696
  }
269
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
+ }
270
742
  }