llms-py 2.0.20__py3-none-any.whl → 3.0.18__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 (207) 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 +588 -0
  6. llms/extensions/app/db.py +540 -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 +440 -0
  10. llms/extensions/computer/README.md +96 -0
  11. llms/extensions/computer/__init__.py +59 -0
  12. llms/extensions/computer/base.py +80 -0
  13. llms/extensions/computer/bash.py +185 -0
  14. llms/extensions/computer/computer.py +523 -0
  15. llms/extensions/computer/edit.py +299 -0
  16. llms/extensions/computer/filesystem.py +542 -0
  17. llms/extensions/computer/platform.py +461 -0
  18. llms/extensions/computer/run.py +37 -0
  19. llms/extensions/core_tools/CALCULATOR.md +32 -0
  20. llms/extensions/core_tools/__init__.py +599 -0
  21. llms/extensions/core_tools/ui/codemirror/addon/edit/closebrackets.js +201 -0
  22. llms/extensions/core_tools/ui/codemirror/addon/edit/closetag.js +185 -0
  23. llms/extensions/core_tools/ui/codemirror/addon/edit/continuelist.js +101 -0
  24. llms/extensions/core_tools/ui/codemirror/addon/edit/matchbrackets.js +160 -0
  25. llms/extensions/core_tools/ui/codemirror/addon/edit/matchtags.js +66 -0
  26. llms/extensions/core_tools/ui/codemirror/addon/edit/trailingspace.js +27 -0
  27. llms/extensions/core_tools/ui/codemirror/addon/selection/active-line.js +72 -0
  28. llms/extensions/core_tools/ui/codemirror/addon/selection/mark-selection.js +119 -0
  29. llms/extensions/core_tools/ui/codemirror/addon/selection/selection-pointer.js +98 -0
  30. llms/extensions/core_tools/ui/codemirror/codemirror.css +344 -0
  31. llms/extensions/core_tools/ui/codemirror/codemirror.js +9884 -0
  32. llms/extensions/core_tools/ui/codemirror/doc/docs.css +225 -0
  33. llms/extensions/core_tools/ui/codemirror/doc/source_sans.woff +0 -0
  34. llms/extensions/core_tools/ui/codemirror/mode/clike/clike.js +942 -0
  35. llms/extensions/core_tools/ui/codemirror/mode/javascript/index.html +118 -0
  36. llms/extensions/core_tools/ui/codemirror/mode/javascript/javascript.js +962 -0
  37. llms/extensions/core_tools/ui/codemirror/mode/javascript/typescript.html +62 -0
  38. llms/extensions/core_tools/ui/codemirror/mode/python/python.js +402 -0
  39. llms/extensions/core_tools/ui/codemirror/theme/dracula.css +40 -0
  40. llms/extensions/core_tools/ui/codemirror/theme/mocha.css +135 -0
  41. llms/extensions/core_tools/ui/index.mjs +650 -0
  42. llms/extensions/gallery/README.md +61 -0
  43. llms/extensions/gallery/__init__.py +63 -0
  44. llms/extensions/gallery/db.py +243 -0
  45. llms/extensions/gallery/ui/index.mjs +482 -0
  46. llms/extensions/katex/README.md +39 -0
  47. llms/extensions/katex/__init__.py +6 -0
  48. llms/extensions/katex/ui/README.md +125 -0
  49. llms/extensions/katex/ui/contrib/auto-render.js +338 -0
  50. llms/extensions/katex/ui/contrib/auto-render.min.js +1 -0
  51. llms/extensions/katex/ui/contrib/auto-render.mjs +244 -0
  52. llms/extensions/katex/ui/contrib/copy-tex.js +127 -0
  53. llms/extensions/katex/ui/contrib/copy-tex.min.js +1 -0
  54. llms/extensions/katex/ui/contrib/copy-tex.mjs +105 -0
  55. llms/extensions/katex/ui/contrib/mathtex-script-type.js +109 -0
  56. llms/extensions/katex/ui/contrib/mathtex-script-type.min.js +1 -0
  57. llms/extensions/katex/ui/contrib/mathtex-script-type.mjs +24 -0
  58. llms/extensions/katex/ui/contrib/mhchem.js +3213 -0
  59. llms/extensions/katex/ui/contrib/mhchem.min.js +1 -0
  60. llms/extensions/katex/ui/contrib/mhchem.mjs +3109 -0
  61. llms/extensions/katex/ui/contrib/render-a11y-string.js +887 -0
  62. llms/extensions/katex/ui/contrib/render-a11y-string.min.js +1 -0
  63. llms/extensions/katex/ui/contrib/render-a11y-string.mjs +800 -0
  64. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.ttf +0 -0
  65. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff +0 -0
  66. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  67. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  68. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  69. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  70. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  71. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  72. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  73. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  74. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  75. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  76. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  77. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  78. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  79. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.ttf +0 -0
  80. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff +0 -0
  81. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff2 +0 -0
  82. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  83. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  84. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  85. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.ttf +0 -0
  86. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff +0 -0
  87. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff2 +0 -0
  88. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.ttf +0 -0
  89. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff +0 -0
  90. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff2 +0 -0
  91. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  92. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  93. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  94. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.ttf +0 -0
  95. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff +0 -0
  96. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff2 +0 -0
  97. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  98. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  99. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  100. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  101. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  102. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  103. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  104. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  105. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  106. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.ttf +0 -0
  107. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff +0 -0
  108. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff2 +0 -0
  109. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.ttf +0 -0
  110. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff +0 -0
  111. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  112. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.ttf +0 -0
  113. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff +0 -0
  114. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  115. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.ttf +0 -0
  116. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff +0 -0
  117. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  118. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.ttf +0 -0
  119. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff +0 -0
  120. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  121. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  122. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  123. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  124. llms/extensions/katex/ui/index.mjs +92 -0
  125. llms/extensions/katex/ui/katex-swap.css +1230 -0
  126. llms/extensions/katex/ui/katex-swap.min.css +1 -0
  127. llms/extensions/katex/ui/katex.css +1230 -0
  128. llms/extensions/katex/ui/katex.js +19080 -0
  129. llms/extensions/katex/ui/katex.min.css +1 -0
  130. llms/extensions/katex/ui/katex.min.js +1 -0
  131. llms/extensions/katex/ui/katex.min.mjs +1 -0
  132. llms/extensions/katex/ui/katex.mjs +18547 -0
  133. llms/extensions/providers/__init__.py +22 -0
  134. llms/extensions/providers/anthropic.py +260 -0
  135. llms/extensions/providers/cerebras.py +36 -0
  136. llms/extensions/providers/chutes.py +153 -0
  137. llms/extensions/providers/google.py +559 -0
  138. llms/extensions/providers/nvidia.py +103 -0
  139. llms/extensions/providers/openai.py +154 -0
  140. llms/extensions/providers/openrouter.py +74 -0
  141. llms/extensions/providers/zai.py +182 -0
  142. llms/extensions/skills/LICENSE +202 -0
  143. llms/extensions/skills/__init__.py +130 -0
  144. llms/extensions/skills/errors.py +25 -0
  145. llms/extensions/skills/models.py +39 -0
  146. llms/extensions/skills/parser.py +178 -0
  147. llms/extensions/skills/ui/index.mjs +376 -0
  148. llms/extensions/skills/ui/skills/create-plan/SKILL.md +74 -0
  149. llms/extensions/skills/validator.py +177 -0
  150. llms/extensions/system_prompts/README.md +22 -0
  151. llms/extensions/system_prompts/__init__.py +45 -0
  152. llms/extensions/system_prompts/ui/index.mjs +276 -0
  153. llms/extensions/system_prompts/ui/prompts.json +1067 -0
  154. llms/extensions/tools/__init__.py +67 -0
  155. llms/extensions/tools/ui/index.mjs +837 -0
  156. llms/index.html +36 -62
  157. llms/llms.json +180 -879
  158. llms/main.py +4009 -912
  159. llms/providers-extra.json +394 -0
  160. llms/providers.json +1 -0
  161. llms/ui/App.mjs +176 -8
  162. llms/ui/ai.mjs +156 -20
  163. llms/ui/app.css +3768 -321
  164. llms/ui/ctx.mjs +459 -0
  165. llms/ui/index.mjs +131 -0
  166. llms/ui/lib/chart.js +14 -0
  167. llms/ui/lib/charts.mjs +16 -0
  168. llms/ui/lib/color.js +14 -0
  169. llms/ui/lib/highlight.min.mjs +1243 -0
  170. llms/ui/lib/idb.min.mjs +8 -0
  171. llms/ui/lib/marked.min.mjs +8 -0
  172. llms/ui/lib/servicestack-client.mjs +1 -0
  173. llms/ui/lib/servicestack-vue.mjs +37 -0
  174. llms/ui/lib/vue-router.min.mjs +6 -0
  175. llms/ui/lib/vue.min.mjs +13 -0
  176. llms/ui/lib/vue.mjs +18530 -0
  177. llms/ui/markdown.mjs +25 -14
  178. llms/ui/modules/chat/ChatBody.mjs +1156 -0
  179. llms/ui/{SettingsDialog.mjs → modules/chat/SettingsDialog.mjs} +74 -74
  180. llms/ui/modules/chat/index.mjs +995 -0
  181. llms/ui/modules/icons.mjs +46 -0
  182. llms/ui/modules/layout.mjs +271 -0
  183. llms/ui/modules/model-selector.mjs +811 -0
  184. llms/ui/tailwind.input.css +560 -78
  185. llms/ui/typography.css +54 -36
  186. llms/ui/utils.mjs +221 -92
  187. llms_py-3.0.18.dist-info/METADATA +49 -0
  188. llms_py-3.0.18.dist-info/RECORD +194 -0
  189. {llms_py-2.0.20.dist-info → llms_py-3.0.18.dist-info}/WHEEL +1 -1
  190. {llms_py-2.0.20.dist-info → llms_py-3.0.18.dist-info}/licenses/LICENSE +1 -2
  191. llms/ui/Avatar.mjs +0 -28
  192. llms/ui/Brand.mjs +0 -34
  193. llms/ui/ChatPrompt.mjs +0 -443
  194. llms/ui/Main.mjs +0 -740
  195. llms/ui/ModelSelector.mjs +0 -60
  196. llms/ui/ProviderIcon.mjs +0 -29
  197. llms/ui/ProviderStatus.mjs +0 -105
  198. llms/ui/SignIn.mjs +0 -64
  199. llms/ui/SystemPromptEditor.mjs +0 -31
  200. llms/ui/SystemPromptSelector.mjs +0 -36
  201. llms/ui/Welcome.mjs +0 -8
  202. llms/ui/threadStore.mjs +0 -524
  203. llms/ui.json +0 -1069
  204. llms_py-2.0.20.dist-info/METADATA +0 -931
  205. llms_py-2.0.20.dist-info/RECORD +0 -36
  206. {llms_py-2.0.20.dist-info → llms_py-3.0.18.dist-info}/entry_points.txt +0 -0
  207. {llms_py-2.0.20.dist-info → llms_py-3.0.18.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,226 @@
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
+
169
+ .prose .frontmatter {
170
+ white-space: pre-wrap;
171
+ word-break: break-all;
172
+ margin-bottom: 1em;
173
+ padding: 0.5rem;
174
+ font-size: 0.8rem !important;
175
+ background: #f9fafb;
176
+ border: 1px solid #e5e7eb;
177
+ }
178
+
111
179
  /* 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}
180
+ .hljs {
181
+ background: white;
182
+ color: black
183
+ }
184
+
185
+ .hljs-comment,
186
+ .hljs-quote,
187
+ .hljs-variable {
188
+ color: #008000
189
+ }
190
+
191
+ .hljs-keyword,
192
+ .hljs-selector-tag,
193
+ .hljs-built_in,
194
+ .hljs-name,
195
+ .hljs-tag {
196
+ color: #00f
197
+ }
198
+
199
+ .hljs-string,
200
+ .hljs-title,
201
+ .hljs-section,
202
+ .hljs-attribute,
203
+ .hljs-literal,
204
+ .hljs-template-tag,
205
+ .hljs-template-variable,
206
+ .hljs-type,
207
+ .hljs-addition {
208
+ color: #a31515
209
+ }
210
+
211
+ .hljs-deletion,
212
+ .hljs-selector-attr,
213
+ .hljs-selector-pseudo,
214
+ .hljs-meta {
215
+ color: #2b91af
216
+ }
217
+
218
+ .hljs-doctag {
219
+ color: #808080
220
+ }
221
+
222
+ .hljs-attr {
223
+ color: #f00
224
+ }
225
+
226
+ .hljs-symbol,
227
+ .hljs-bullet,
228
+ .hljs-link {
229
+ color: #00b0e8
230
+ }
231
+
232
+ .hljs-emphasis {
233
+ font-style: italic
234
+ }
235
+
236
+ .hljs-strong {
237
+ font-weight: bold
238
+ }
122
239
 
123
240
  /* 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}
241
+ pre code.hljs {
242
+ display: block;
243
+ overflow-x: auto;
244
+ padding: 1em
245
+ }
246
+
247
+ code.hljs {
248
+ padding: 3px 5px
249
+ }
250
+
251
+ .hljs {
252
+ color: #abb2bf;
253
+ background: #282c34
254
+ }
255
+
256
+ .hljs-comment,
257
+ .hljs-quote {
258
+ color: #5c6370;
259
+ font-style: italic
260
+ }
261
+
262
+ .hljs-doctag,
263
+ .hljs-formula,
264
+ .hljs-keyword {
265
+ color: #c678dd
266
+ }
267
+
268
+ .hljs-deletion,
269
+ .hljs-name,
270
+ .hljs-section,
271
+ .hljs-selector-tag,
272
+ .hljs-subst,
273
+ .hljs-tag {
274
+ color: #e06c75
275
+ }
276
+
277
+ .hljs-literal {
278
+ color: #56b6c2
279
+ }
280
+
281
+ .hljs-addition,
282
+ .hljs-attribute,
283
+ .hljs-meta .hljs-string,
284
+ .hljs-regexp,
285
+ .hljs-string {
286
+ color: #98c379
287
+ }
288
+
289
+ .hljs-attr,
290
+ .hljs-number,
291
+ .hljs-selector-attr,
292
+ .hljs-selector-class,
293
+ .hljs-selector-pseudo,
294
+ .hljs-template-variable,
295
+ .hljs-type,
296
+ .hljs-variable {
297
+ color: #d19a66
298
+ }
299
+
300
+ .hljs-bullet,
301
+ .hljs-link,
302
+ .hljs-meta,
303
+ .hljs-selector-id,
304
+ .hljs-symbol,
305
+ .hljs-title {
306
+ color: #61aeee
307
+ }
308
+
309
+ .hljs-built_in,
310
+ .hljs-class .hljs-title,
311
+ .hljs-title.class_ {
312
+ color: #e6c07b
313
+ }
314
+
315
+ .hljs-emphasis {
316
+ font-style: italic
317
+ }
318
+
319
+ .hljs-strong {
320
+ font-weight: 700
321
+ }
322
+
323
+ .hljs-link {
324
+ text-decoration: underline
325
+ }
133
326
 
134
327
  /*highlightjs*/
135
- .hljs, .prose :where(pre):not(:where([class~="not-prose"] *)) .hljs {
328
+ .hljs,
329
+ .prose :where(pre):not(:where([class~="not-prose"] *)) .hljs {
136
330
  color: #e5e7eb !important;
137
331
  background-color: #282c34 !important;
138
332
  }
139
- .hljs-comment, .hljs-quote {
140
- color: rgb(148 163 184); /*text-slate-400*/
333
+
334
+ .prose :where(h1):not(:where([class~="not-prose"] *)) {
335
+ font-weight: 700 !important;
336
+ }
337
+
338
+ .hljs-comment,
339
+ .hljs-quote {
340
+ color: rgb(148 163 184);
341
+ /*text-slate-400*/
141
342
  }
142
343
 
143
344
  pre {
@@ -151,17 +352,58 @@
151
352
  padding: .8571429em 1.1428571em;
152
353
  max-width: calc(100vw - 1rem);
153
354
  min-width: fit-content;
154
- background-color: #282c34 !important;
355
+ /* background-color: #282c34 !important; overrides CodeMirror */
155
356
  }
357
+
156
358
  pre code.hljs {
157
359
  display: block;
158
360
  overflow-x: auto;
159
361
  padding: 1em;
160
362
  }
363
+
364
+ /* Tool Description Code Blocks - Light Mode by default */
365
+ .tool-description pre {
366
+ background-color: #f8fafc !important;
367
+ color: #1f2937 !important;
368
+ border: 1px solid #e2e8f0;
369
+ border-radius: 0.5rem;
370
+ padding: 0.75rem 1rem;
371
+ margin: 0.75rem 0;
372
+ overflow-x: auto;
373
+ }
374
+
375
+ .tool-description code {
376
+ color: inherit !important;
377
+ }
378
+
379
+ .tool-description code.hljs {
380
+ background: transparent !important;
381
+ padding: 0;
382
+ font-size: 0.85em;
383
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
384
+ }
385
+
386
+
387
+ /* Dark Mode Overrides */
388
+ .dark .tool-description pre {
389
+ background-color: #1f2937 !important;
390
+ border-color: #374151;
391
+ color: #e5e7eb !important;
392
+ }
393
+
394
+ .dark .tool-description code {
395
+ color: inherit !important;
396
+ }
397
+
398
+ .dark .tool-description code.hljs {
399
+ color: #e5e7eb;
400
+ }
401
+
161
402
  .message pre {
162
403
  max-width: 100%;
163
404
  min-width: auto;
164
405
  }
406
+
165
407
  .message pre code.hljs {
166
408
  overflow-x: unset;
167
409
  width: 100%;
@@ -180,57 +422,250 @@
180
422
  outline-offset: 2px;
181
423
  box-shadow: 0 0 0 2px #3b82f6;
182
424
  }
425
+
183
426
  /* @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}
427
+ [type='text'],
428
+ [type='email'],
429
+ [type='url'],
430
+ [type='password'],
431
+ [type='number'],
432
+ [type='date'],
433
+ [type='datetime-local'],
434
+ [type='month'],
435
+ [type='week'],
436
+ [type='search'],
437
+ [type='tel'],
438
+ [type='time'],
439
+ [type='color'],
440
+ [multiple],
441
+ textarea,
442
+ select {
443
+ -webkit-appearance: none;
444
+ -moz-appearance: none;
445
+ appearance: none;
446
+ background-color: #fff;
447
+ border-width: 1px;
448
+ padding: 0.5rem 0.75rem;
449
+ font-size: 1rem
450
+ }
451
+
452
+ .dark [type='text'],
453
+ .dark [type='email'],
454
+ .dark [type='url'],
455
+ .dark [type='password'],
456
+ .dark [type='number'],
457
+ .dark [type='date'],
458
+ .dark [type='datetime-local'],
459
+ .dark [type='month'],
460
+ .dark [type='week'],
461
+ .dark [type='search'],
462
+ .dark [type='tel'],
463
+ .dark [type='time'],
464
+ .dark [type='color'],
465
+ .dark [multiple],
466
+ .dark textarea,
467
+ .dark select {
468
+ background-color: var(--color-gray-800)
469
+ }
470
+
471
+ [type='text']:focus,
472
+ [type='email']:focus,
473
+ [type='url']:focus,
474
+ [type='password']:focus,
475
+ [type='number']:focus,
476
+ [type='date']:focus,
477
+ [type='datetime-local']:focus,
478
+ [type='month']:focus,
479
+ [type='week']:focus,
480
+ [type='search']:focus,
481
+ [type='tel']:focus,
482
+ [type='time']:focus,
483
+ [type='color']:focus,
484
+ [multiple]:focus,
485
+ textarea:focus,
486
+ select:focus {
487
+ outline: 2px solid transparent;
488
+ outline-offset: 2px;
489
+ --tw-ring-inset: var(--tw-empty,
490
+ /*!*/
491
+ /*!*/
492
+ );
493
+ --tw-ring-offset-width: 0px;
494
+ --tw-ring-offset-color: #fff;
495
+ --tw-ring-color: #2563eb;
496
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
497
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
498
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
499
+ border-color: #2563eb;
500
+ }
501
+
502
+ input::-moz-placeholder,
503
+ textarea::-moz-placeholder {
504
+ color: #6b7280;
505
+ opacity: 1
506
+ }
507
+
508
+ input:-ms-input-placeholder,
509
+ textarea:-ms-input-placeholder {
510
+ color: #6b7280;
511
+ opacity: 1
512
+ }
513
+
514
+ input::placeholder,
515
+ textarea::placeholder {
516
+ color: #6b7280;
517
+ opacity: 1
518
+ }
519
+
520
+ select {
521
+ 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");
522
+ background-position: right 0.5rem center;
523
+ background-repeat: no-repeat;
524
+ background-size: 1.5em 1.5em;
525
+ padding-right: 2.5rem;
526
+ -webkit-print-color-adjust: exact;
527
+ color-adjust: exact
528
+ }
529
+
530
+ [multiple] {
531
+ background-image: initial;
532
+ background-position: initial;
533
+ background-repeat: unset;
534
+ background-size: initial;
535
+ padding-right: 0.75rem;
536
+ -webkit-print-color-adjust: unset;
537
+ color-adjust: unset;
538
+ }
539
+
540
+ [type='checkbox'],
541
+ [type='radio'] {
542
+ -webkit-appearance: none;
543
+ -moz-appearance: none;
544
+ appearance: none;
545
+ padding: 0;
546
+ -webkit-print-color-adjust: exact;
547
+ color-adjust: exact;
548
+ display: inline-block;
549
+ vertical-align: middle;
550
+ background-origin: border-box;
551
+ -webkit-user-select: none;
552
+ -moz-user-select: none;
553
+ -ms-user-select: none;
554
+ user-select: none;
555
+ flex-shrink: 0;
556
+ height: 1rem;
557
+ width: 1rem;
558
+ color: #2563eb;
559
+ background-color: #fff;
560
+ border-width: 1px
561
+ }
562
+
563
+ [type='radio'] {
564
+ border-radius: 100%
565
+ }
566
+
567
+ [type='checkbox']:focus,
568
+ [type='radio']:focus {
569
+ outline: 2px solid transparent;
570
+ outline-offset: 2px;
571
+ --tw-ring-inset: var(--tw-empty,
572
+ /*!*/
573
+ /*!*/
574
+ );
575
+ --tw-ring-offset-width: 2px;
576
+ --tw-ring-offset-color: #fff;
577
+ --tw-ring-color: #2563eb;
578
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
579
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
580
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
581
+ }
582
+
583
+ [type='checkbox']:checked,
584
+ [type='radio']:checked {
585
+ border-color: transparent;
586
+ background-color: currentColor;
587
+ background-size: 100% 100%;
588
+ background-position: center;
589
+ background-repeat: no-repeat
590
+ }
591
+
592
+ [type='checkbox']:checked {
593
+ 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")
594
+ }
595
+
596
+ [type='radio']:checked {
597
+ 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")
598
+ }
599
+
600
+ [type='checkbox']:checked:hover,
601
+ [type='checkbox']:checked:focus,
602
+ [type='radio']:checked:hover,
603
+ [type='radio']:checked:focus {
604
+ border-color: transparent;
605
+ background-color: currentColor
606
+ }
607
+
608
+ [type='checkbox']:indeterminate {
609
+ 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");
610
+ border-color: transparent;
611
+ background-color: currentColor;
612
+ background-size: 100% 100%;
613
+ background-position: center;
614
+ background-repeat: no-repeat
615
+ }
616
+
617
+ [type='checkbox']:indeterminate:hover,
618
+ [type='checkbox']:indeterminate:focus {
619
+ border-color: transparent;
620
+ background-color: currentColor
621
+ }
622
+
623
+ [type='file'] {
624
+ background: unset;
625
+ border-color: inherit;
626
+ border-width: 0;
627
+ border-radius: 0;
628
+ padding: 0;
629
+ font-size: unset;
630
+ line-height: inherit
631
+ }
632
+
633
+ [type='file']:focus {
634
+ outline: 1px auto -webkit-focus-ring-color;
635
+ }
636
+
637
+ [type='color'] {
638
+ height: 2.4rem;
639
+ padding: 2px 3px
640
+ }
641
+
642
+ [type='range'] {
643
+ height: 2.4rem
644
+ }
645
+
646
+ [type='button'],
647
+ button[type='submit'] {
648
+ cursor: pointer
649
+ }
231
650
 
232
651
  @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 {
652
+
653
+ [type='text'],
654
+ [type='email'],
655
+ [type='url'],
656
+ [type='password'],
657
+ [type='number'],
658
+ [type='date'],
659
+ [type='datetime-local'],
660
+ [type='month'],
661
+ [type='week'],
662
+ [type='search'],
663
+ [type='tel'],
664
+ [type='time'],
665
+ [type='color'],
666
+ [multiple],
667
+ textarea,
668
+ select {
234
669
  font-size: .875rem;
235
670
  line-height: 1.25rem;
236
671
  }
@@ -244,6 +679,7 @@
244
679
  transition: background-color 5000s ease-in-out 0s;
245
680
  -webkit-text-fill-color: #ffffff;
246
681
  }
682
+
247
683
  .dark input[data-autocompleted] {
248
684
  background-color: transparent !important;
249
685
  }
@@ -252,12 +688,14 @@
252
688
  .aspect-h-9 {
253
689
  --tw-aspect-h: 9;
254
690
  }
691
+
255
692
  .aspect-w-16 {
256
693
  position: relative;
257
694
  padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
258
695
  --tw-aspect-w: 16;
259
696
  }
260
- .aspect-w-16 > * {
697
+
698
+ .aspect-w-16>* {
261
699
  position: absolute;
262
700
  height: 100%;
263
701
  width: 100%;
@@ -267,4 +705,48 @@
267
705
  left: 0;
268
706
  }
269
707
 
708
+
709
+ @media (min-width: 640px) {
710
+ .message pre {
711
+ max-width: 500px !important;
712
+ }
713
+
714
+ .has-iframes {
715
+ min-width: 640px;
716
+ }
717
+ }
718
+
719
+ @media (min-width: 768px) {
720
+ .message pre {
721
+ max-width: 600px !important;
722
+ }
723
+
724
+ .has-iframes {
725
+ min-width: 640px;
726
+ }
727
+ }
728
+
729
+ @media (min-width: 1024px) {
730
+
731
+ .message pre,
732
+ .message .prose pre {
733
+ max-width: 700px !important;
734
+ }
735
+
736
+ .has-iframes {
737
+ min-width: 740px;
738
+ }
739
+ }
740
+
741
+ @media (min-width: 1280px) {
742
+
743
+ .message pre,
744
+ .message .prose pre {
745
+ max-width: 800px !important;
746
+ }
747
+
748
+ .has-iframes {
749
+ min-width: 840px;
750
+ }
751
+ }
270
752
  }