pygpt-net 2.4.37__py3-none-any.whl → 2.4.42__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 (340) hide show
  1. CHANGELOG.md +37 -0
  2. README.md +176 -182
  3. pygpt_net/CHANGELOG.txt +37 -0
  4. pygpt_net/__init__.py +3 -3
  5. pygpt_net/app.py +3 -1
  6. pygpt_net/controller/__init__.py +7 -3
  7. pygpt_net/controller/access/control.py +1 -1
  8. pygpt_net/controller/access/voice.py +11 -5
  9. pygpt_net/controller/agent/experts.py +11 -6
  10. pygpt_net/controller/agent/legacy.py +8 -6
  11. pygpt_net/controller/agent/llama.py +4 -2
  12. pygpt_net/controller/assistant/__init__.py +9 -4
  13. pygpt_net/controller/assistant/batch.py +38 -21
  14. pygpt_net/controller/assistant/editor.py +7 -6
  15. pygpt_net/controller/assistant/files.py +23 -7
  16. pygpt_net/controller/assistant/store.py +20 -7
  17. pygpt_net/controller/assistant/threads.py +34 -8
  18. pygpt_net/controller/attachment.py +29 -10
  19. pygpt_net/controller/audio/__init__.py +26 -5
  20. pygpt_net/controller/calendar/__init__.py +23 -4
  21. pygpt_net/controller/calendar/note.py +57 -11
  22. pygpt_net/controller/camera.py +4 -12
  23. pygpt_net/controller/chat/__init__.py +5 -3
  24. pygpt_net/controller/chat/attachment.py +34 -7
  25. pygpt_net/controller/chat/audio.py +2 -2
  26. pygpt_net/controller/chat/command.py +4 -2
  27. pygpt_net/controller/chat/common.py +11 -4
  28. pygpt_net/controller/chat/files.py +10 -3
  29. pygpt_net/controller/chat/image.py +17 -5
  30. pygpt_net/controller/chat/input.py +10 -7
  31. pygpt_net/controller/chat/output.py +21 -6
  32. pygpt_net/controller/chat/render.py +100 -21
  33. pygpt_net/controller/chat/response.py +34 -7
  34. pygpt_net/controller/chat/stream.py +4 -2
  35. pygpt_net/controller/chat/text.py +6 -4
  36. pygpt_net/controller/command.py +11 -3
  37. pygpt_net/controller/config/__init__.py +34 -6
  38. pygpt_net/controller/config/field/checkbox.py +7 -4
  39. pygpt_net/controller/config/field/cmd.py +7 -5
  40. pygpt_net/controller/config/field/combo.py +14 -6
  41. pygpt_net/controller/config/field/dictionary.py +14 -11
  42. pygpt_net/controller/config/field/input.py +9 -6
  43. pygpt_net/controller/config/field/slider.py +11 -8
  44. pygpt_net/controller/config/field/textarea.py +8 -5
  45. pygpt_net/controller/config/placeholder.py +66 -21
  46. pygpt_net/controller/ctx/__init__.py +138 -49
  47. pygpt_net/controller/ctx/common.py +15 -4
  48. pygpt_net/controller/ctx/extra.py +11 -3
  49. pygpt_net/controller/ctx/summarizer.py +24 -5
  50. pygpt_net/controller/debug/__init__.py +27 -6
  51. pygpt_net/controller/dialogs/confirm.py +34 -7
  52. pygpt_net/controller/dialogs/debug.py +4 -2
  53. pygpt_net/controller/dialogs/info.py +7 -2
  54. pygpt_net/controller/files.py +48 -10
  55. pygpt_net/controller/finder.py +11 -5
  56. pygpt_net/controller/idx/__init__.py +10 -3
  57. pygpt_net/controller/idx/common.py +4 -2
  58. pygpt_net/controller/idx/indexer.py +25 -17
  59. pygpt_net/controller/idx/settings.py +9 -3
  60. pygpt_net/controller/kernel/__init__.py +34 -8
  61. pygpt_net/controller/kernel/reply.py +12 -3
  62. pygpt_net/controller/kernel/stack.py +5 -3
  63. pygpt_net/controller/lang/custom.py +2 -7
  64. pygpt_net/controller/lang/mapping.py +5 -3
  65. pygpt_net/controller/layout.py +2 -2
  66. pygpt_net/controller/mode.py +16 -4
  67. pygpt_net/controller/model/__init__.py +14 -3
  68. pygpt_net/controller/model/editor.py +8 -3
  69. pygpt_net/controller/notepad.py +26 -12
  70. pygpt_net/controller/painter/capture.py +23 -4
  71. pygpt_net/controller/painter/common.py +9 -7
  72. pygpt_net/controller/plugins/__init__.py +19 -5
  73. pygpt_net/controller/plugins/presets.py +15 -6
  74. pygpt_net/controller/plugins/settings.py +9 -3
  75. pygpt_net/controller/presets/__init__.py +55 -16
  76. pygpt_net/controller/presets/editor.py +26 -10
  77. pygpt_net/controller/settings/__init__.py +3 -2
  78. pygpt_net/controller/settings/editor.py +29 -7
  79. pygpt_net/controller/settings/profile.py +22 -5
  80. pygpt_net/controller/theme/__init__.py +54 -12
  81. pygpt_net/controller/theme/common.py +24 -2
  82. pygpt_net/controller/theme/markdown.py +32 -16
  83. pygpt_net/controller/theme/menu.py +26 -5
  84. pygpt_net/controller/theme/nodes.py +2 -5
  85. pygpt_net/controller/tools/__init__.py +40 -2
  86. pygpt_net/controller/ui/__init__.py +4 -6
  87. pygpt_net/controller/ui/mode.py +16 -21
  88. pygpt_net/controller/ui/tabs.py +363 -65
  89. pygpt_net/core/access/actions.py +6 -4
  90. pygpt_net/core/access/shortcuts.py +4 -3
  91. pygpt_net/core/access/voice.py +6 -5
  92. pygpt_net/core/agents/legacy.py +4 -2
  93. pygpt_net/core/agents/memory.py +7 -2
  94. pygpt_net/core/agents/observer/evaluation.py +15 -7
  95. pygpt_net/core/agents/provider.py +9 -4
  96. pygpt_net/core/agents/runner.py +61 -15
  97. pygpt_net/core/agents/tools.py +23 -5
  98. pygpt_net/core/assistants/__init__.py +6 -4
  99. pygpt_net/core/assistants/files.py +35 -12
  100. pygpt_net/core/assistants/store.py +20 -10
  101. pygpt_net/core/attachments/__init__.py +54 -15
  102. pygpt_net/core/attachments/context.py +92 -29
  103. pygpt_net/core/audio/__init__.py +74 -3
  104. pygpt_net/core/audio/context.py +7 -2
  105. pygpt_net/core/audio/whisper.py +37 -0
  106. pygpt_net/core/bridge/__init__.py +22 -6
  107. pygpt_net/core/bridge/context.py +5 -3
  108. pygpt_net/core/bridge/worker.py +2 -2
  109. pygpt_net/core/calendar/__init__.py +57 -11
  110. pygpt_net/core/chain/__init__.py +8 -2
  111. pygpt_net/core/chain/chat.py +10 -8
  112. pygpt_net/core/chain/completion.py +10 -7
  113. pygpt_net/core/command.py +62 -17
  114. pygpt_net/core/ctx/__init__.py +260 -58
  115. pygpt_net/core/ctx/bag.py +25 -4
  116. pygpt_net/core/ctx/container.py +28 -17
  117. pygpt_net/core/ctx/idx.py +45 -8
  118. pygpt_net/core/ctx/output.py +95 -74
  119. pygpt_net/core/ctx/reply.py +5 -2
  120. pygpt_net/core/db/__init__.py +8 -7
  121. pygpt_net/core/db/viewer.py +17 -11
  122. pygpt_net/core/debug/__init__.py +10 -9
  123. pygpt_net/core/debug/events.py +22 -10
  124. pygpt_net/core/debug/tabs.py +9 -3
  125. pygpt_net/core/docker/__init__.py +11 -5
  126. pygpt_net/core/docker/builder.py +11 -3
  127. pygpt_net/core/events/app.py +5 -3
  128. pygpt_net/core/events/base.py +11 -5
  129. pygpt_net/core/events/control.py +5 -3
  130. pygpt_net/core/events/event.py +17 -7
  131. pygpt_net/core/events/kernel.py +5 -3
  132. pygpt_net/core/events/render.py +5 -3
  133. pygpt_net/core/experts/__init__.py +5 -4
  134. pygpt_net/core/filesystem/__init__.py +52 -34
  135. pygpt_net/core/filesystem/actions.py +8 -5
  136. pygpt_net/core/filesystem/editor.py +13 -3
  137. pygpt_net/core/filesystem/types.py +12 -7
  138. pygpt_net/core/filesystem/url.py +7 -3
  139. pygpt_net/core/history.py +3 -2
  140. pygpt_net/core/idx/__init__.py +48 -27
  141. pygpt_net/core/idx/chat.py +51 -17
  142. pygpt_net/core/idx/context.py +6 -2
  143. pygpt_net/core/idx/indexing.py +107 -42
  144. pygpt_net/core/idx/llm.py +11 -3
  145. pygpt_net/core/idx/metadata.py +13 -3
  146. pygpt_net/core/idx/types/ctx.py +32 -6
  147. pygpt_net/core/idx/types/external.py +41 -7
  148. pygpt_net/core/idx/types/files.py +31 -6
  149. pygpt_net/core/image.py +15 -4
  150. pygpt_net/core/installer.py +2 -4
  151. pygpt_net/core/llm/__init__.py +13 -3
  152. pygpt_net/core/locale.py +34 -8
  153. pygpt_net/core/models.py +63 -17
  154. pygpt_net/core/modes.py +11 -13
  155. pygpt_net/core/notepad.py +10 -5
  156. pygpt_net/core/plugins.py +31 -19
  157. pygpt_net/core/presets.py +37 -17
  158. pygpt_net/core/profile.py +21 -7
  159. pygpt_net/core/prompt/__init__.py +10 -3
  160. pygpt_net/core/prompt/custom.py +7 -6
  161. pygpt_net/core/prompt/template.py +9 -3
  162. pygpt_net/core/render/base.py +117 -22
  163. pygpt_net/core/render/markdown/body.py +27 -7
  164. pygpt_net/core/render/markdown/renderer.py +119 -22
  165. pygpt_net/core/render/plain/body.py +22 -5
  166. pygpt_net/core/render/plain/renderer.py +97 -21
  167. pygpt_net/core/render/web/body.py +75 -25
  168. pygpt_net/core/render/web/parser.py +3 -1
  169. pygpt_net/core/render/web/renderer.py +313 -63
  170. pygpt_net/core/settings.py +10 -5
  171. pygpt_net/core/tabs/__init__.py +290 -103
  172. pygpt_net/core/tabs/tab.py +26 -5
  173. pygpt_net/core/tokens.py +47 -12
  174. pygpt_net/core/updater/__init__.py +20 -7
  175. pygpt_net/core/vision/analyzer.py +29 -6
  176. pygpt_net/core/{web.py → web/__init__.py} +29 -7
  177. pygpt_net/core/web/helpers.py +237 -0
  178. pygpt_net/data/config/config.json +15 -4
  179. pygpt_net/data/config/models.json +3 -3
  180. pygpt_net/data/config/modes.json +3 -3
  181. pygpt_net/data/config/settings.json +55 -10
  182. pygpt_net/data/config/settings_section.json +3 -0
  183. pygpt_net/data/css/style.light.css +1 -0
  184. pygpt_net/data/css/{web.css → web-blocks.css} +162 -133
  185. pygpt_net/data/css/{web.light.css → web-blocks.light.css} +7 -0
  186. pygpt_net/data/css/web-chatgpt.css +350 -0
  187. pygpt_net/data/css/web-chatgpt.dark.css +64 -0
  188. pygpt_net/data/css/web-chatgpt.light.css +75 -0
  189. pygpt_net/data/css/web-chatgpt_wide.css +350 -0
  190. pygpt_net/data/css/web-chatgpt_wide.dark.css +64 -0
  191. pygpt_net/data/css/web-chatgpt_wide.light.css +75 -0
  192. pygpt_net/data/icons/split_screen.svg +1 -0
  193. pygpt_net/data/locale/locale.de.ini +12 -0
  194. pygpt_net/data/locale/locale.en.ini +18 -2
  195. pygpt_net/data/locale/locale.es.ini +12 -0
  196. pygpt_net/data/locale/locale.fr.ini +12 -0
  197. pygpt_net/data/locale/locale.it.ini +12 -0
  198. pygpt_net/data/locale/locale.pl.ini +12 -0
  199. pygpt_net/data/locale/locale.uk.ini +12 -0
  200. pygpt_net/data/locale/locale.zh.ini +12 -0
  201. pygpt_net/data/locale/plugin.cmd_web.de.ini +2 -0
  202. pygpt_net/data/locale/plugin.cmd_web.en.ini +22 -10
  203. pygpt_net/data/locale/plugin.cmd_web.es.ini +2 -0
  204. pygpt_net/data/locale/plugin.cmd_web.fr.ini +2 -0
  205. pygpt_net/data/locale/plugin.cmd_web.it.ini +2 -0
  206. pygpt_net/data/locale/plugin.cmd_web.pl.ini +2 -0
  207. pygpt_net/data/locale/plugin.cmd_web.uk.ini +2 -0
  208. pygpt_net/data/locale/plugin.cmd_web.zh.ini +2 -0
  209. pygpt_net/data/locale/plugin.mailer.en.ini +21 -0
  210. pygpt_net/icons.qrc +1 -0
  211. pygpt_net/icons_rc.py +165 -136
  212. pygpt_net/item/ctx.py +58 -25
  213. pygpt_net/plugin/agent/__init__.py +7 -2
  214. pygpt_net/plugin/audio_input/simple.py +21 -5
  215. pygpt_net/plugin/audio_output/__init__.py +9 -1
  216. pygpt_net/plugin/base/config.py +4 -2
  217. pygpt_net/plugin/base/plugin.py +75 -23
  218. pygpt_net/plugin/base/worker.py +42 -11
  219. pygpt_net/plugin/cmd_code_interpreter/__init__.py +39 -37
  220. pygpt_net/plugin/cmd_code_interpreter/runner.py +25 -12
  221. pygpt_net/plugin/cmd_history/config.py +2 -2
  222. pygpt_net/plugin/cmd_web/__init__.py +48 -9
  223. pygpt_net/plugin/cmd_web/config.py +135 -41
  224. pygpt_net/plugin/cmd_web/websearch.py +74 -33
  225. pygpt_net/plugin/cmd_web/worker.py +142 -13
  226. pygpt_net/plugin/idx_llama_index/config.py +3 -3
  227. pygpt_net/plugin/mailer/__init__.py +123 -0
  228. pygpt_net/plugin/mailer/config.py +149 -0
  229. pygpt_net/plugin/mailer/runner.py +285 -0
  230. pygpt_net/plugin/mailer/worker.py +123 -0
  231. pygpt_net/provider/agents/base.py +5 -2
  232. pygpt_net/provider/agents/openai.py +4 -2
  233. pygpt_net/provider/agents/openai_assistant.py +4 -2
  234. pygpt_net/provider/agents/planner.py +4 -2
  235. pygpt_net/provider/agents/react.py +4 -2
  236. pygpt_net/provider/audio_output/openai_tts.py +5 -11
  237. pygpt_net/provider/core/assistant/base.py +5 -3
  238. pygpt_net/provider/core/assistant/json_file.py +8 -5
  239. pygpt_net/provider/core/assistant_file/base.py +4 -3
  240. pygpt_net/provider/core/assistant_file/db_sqlite/__init__.py +4 -3
  241. pygpt_net/provider/core/assistant_file/db_sqlite/storage.py +3 -2
  242. pygpt_net/provider/core/assistant_store/base.py +6 -4
  243. pygpt_net/provider/core/assistant_store/db_sqlite/__init__.py +5 -4
  244. pygpt_net/provider/core/assistant_store/db_sqlite/storage.py +5 -3
  245. pygpt_net/provider/core/attachment/base.py +5 -3
  246. pygpt_net/provider/core/attachment/json_file.py +4 -3
  247. pygpt_net/provider/core/calendar/base.py +5 -3
  248. pygpt_net/provider/core/calendar/db_sqlite/__init__.py +6 -5
  249. pygpt_net/provider/core/calendar/db_sqlite/storage.py +5 -4
  250. pygpt_net/provider/core/config/base.py +8 -6
  251. pygpt_net/provider/core/config/json_file.py +9 -7
  252. pygpt_net/provider/core/config/patch.py +43 -1
  253. pygpt_net/provider/core/ctx/base.py +30 -25
  254. pygpt_net/provider/core/ctx/db_sqlite/__init__.py +59 -34
  255. pygpt_net/provider/core/ctx/db_sqlite/storage.py +62 -30
  256. pygpt_net/provider/core/ctx/db_sqlite/utils.py +11 -9
  257. pygpt_net/provider/core/index/base.py +129 -23
  258. pygpt_net/provider/core/index/db_sqlite/__init__.py +130 -23
  259. pygpt_net/provider/core/index/db_sqlite/storage.py +130 -23
  260. pygpt_net/provider/core/index/db_sqlite/utils.py +4 -2
  261. pygpt_net/provider/core/mode/base.py +5 -3
  262. pygpt_net/provider/core/mode/json_file.py +7 -6
  263. pygpt_net/provider/core/model/base.py +6 -4
  264. pygpt_net/provider/core/model/json_file.py +9 -7
  265. pygpt_net/provider/core/notepad/base.py +5 -3
  266. pygpt_net/provider/core/notepad/db_sqlite/__init__.py +5 -4
  267. pygpt_net/provider/core/notepad/db_sqlite/storage.py +4 -3
  268. pygpt_net/provider/core/plugin_preset/base.py +4 -2
  269. pygpt_net/provider/core/plugin_preset/json_file.py +5 -3
  270. pygpt_net/provider/core/preset/base.py +6 -4
  271. pygpt_net/provider/core/preset/json_file.py +9 -9
  272. pygpt_net/provider/core/prompt/base.py +6 -3
  273. pygpt_net/provider/core/prompt/json_file.py +11 -6
  274. pygpt_net/provider/gpt/assistants.py +21 -11
  275. pygpt_net/provider/gpt/audio.py +6 -5
  276. pygpt_net/provider/gpt/chat.py +10 -7
  277. pygpt_net/provider/gpt/completion.py +11 -5
  278. pygpt_net/provider/gpt/image.py +9 -2
  279. pygpt_net/provider/gpt/store.py +53 -18
  280. pygpt_net/provider/gpt/vision.py +17 -11
  281. pygpt_net/provider/llms/anthropic.py +7 -2
  282. pygpt_net/provider/llms/azure_openai.py +26 -5
  283. pygpt_net/provider/llms/base.py +47 -9
  284. pygpt_net/provider/llms/google.py +7 -2
  285. pygpt_net/provider/llms/hugging_face.py +13 -3
  286. pygpt_net/provider/llms/hugging_face_api.py +18 -4
  287. pygpt_net/provider/llms/local.py +7 -2
  288. pygpt_net/provider/llms/ollama.py +30 -6
  289. pygpt_net/provider/llms/openai.py +32 -6
  290. pygpt_net/provider/vector_stores/__init__.py +45 -14
  291. pygpt_net/provider/vector_stores/base.py +35 -8
  292. pygpt_net/provider/vector_stores/chroma.py +13 -3
  293. pygpt_net/provider/vector_stores/ctx_attachment.py +31 -12
  294. pygpt_net/provider/vector_stores/elasticsearch.py +12 -3
  295. pygpt_net/provider/vector_stores/pinecode.py +12 -3
  296. pygpt_net/provider/vector_stores/redis.py +12 -3
  297. pygpt_net/provider/vector_stores/simple.py +12 -3
  298. pygpt_net/provider/vector_stores/temp.py +16 -4
  299. pygpt_net/provider/web/base.py +10 -3
  300. pygpt_net/provider/web/google_custom_search.py +9 -3
  301. pygpt_net/provider/web/microsoft_bing.py +9 -3
  302. pygpt_net/tools/__init__.py +20 -4
  303. pygpt_net/tools/audio_transcriber/__init__.py +4 -3
  304. pygpt_net/tools/base.py +28 -7
  305. pygpt_net/tools/code_interpreter/__init__.py +177 -77
  306. pygpt_net/tools/code_interpreter/ui/dialogs.py +21 -103
  307. pygpt_net/tools/code_interpreter/ui/widgets.py +284 -9
  308. pygpt_net/tools/html_canvas/__init__.py +81 -25
  309. pygpt_net/tools/html_canvas/ui/dialogs.py +46 -62
  310. pygpt_net/tools/html_canvas/ui/widgets.py +96 -3
  311. pygpt_net/tools/image_viewer/__init__.py +10 -4
  312. pygpt_net/tools/indexer/__init__.py +8 -7
  313. pygpt_net/tools/media_player/__init__.py +4 -3
  314. pygpt_net/tools/text_editor/__init__.py +36 -10
  315. pygpt_net/ui/base/context_menu.py +2 -2
  316. pygpt_net/ui/layout/chat/input.py +10 -18
  317. pygpt_net/ui/layout/chat/output.py +27 -45
  318. pygpt_net/ui/layout/ctx/ctx_list.py +13 -4
  319. pygpt_net/ui/layout/toolbox/footer.py +18 -2
  320. pygpt_net/ui/main.py +2 -2
  321. pygpt_net/ui/menu/audio.py +12 -1
  322. pygpt_net/ui/menu/config.py +7 -11
  323. pygpt_net/ui/menu/debug.py +11 -1
  324. pygpt_net/ui/menu/theme.py +9 -2
  325. pygpt_net/ui/widget/filesystem/explorer.py +2 -2
  326. pygpt_net/ui/widget/lists/context.py +27 -5
  327. pygpt_net/ui/widget/tabs/Input.py +2 -2
  328. pygpt_net/ui/widget/tabs/body.py +2 -1
  329. pygpt_net/ui/widget/tabs/layout.py +195 -0
  330. pygpt_net/ui/widget/tabs/output.py +218 -55
  331. pygpt_net/ui/widget/textarea/html.py +11 -1
  332. pygpt_net/ui/widget/textarea/output.py +10 -1
  333. pygpt_net/ui/widget/textarea/search_input.py +4 -1
  334. pygpt_net/ui/widget/textarea/web.py +49 -9
  335. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.42.dist-info}/METADATA +177 -183
  336. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.42.dist-info}/RECORD +340 -325
  337. /pygpt_net/data/css/{web.dark.css → web-blocks.dark.css} +0 -0
  338. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.42.dist-info}/LICENSE +0 -0
  339. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.42.dist-info}/WHEEL +0 -0
  340. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.42.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,350 @@
1
+ @font-face {{
2
+ font-family: "Lato";
3
+ src: url('file:///%fonts%/Lato/Lato-Regular.ttf');
4
+ }}
5
+ @font-face {{
6
+ font-family: "Monaspace Neon";
7
+ src: url('file:///%fonts%/MonaspaceNeon/MonaspaceNeon-Regular.otf');
8
+ }}
9
+ * {{
10
+ font-family: 'Lato';
11
+ }}
12
+ body {{
13
+ word-wrap: break-word;
14
+ padding: 6px;
15
+ line-height: 1.25;
16
+ will-change: transform, opacity;
17
+ padding: 0;
18
+ margin: auto;
19
+ max-width: 720px;
20
+ border-radius: .25rem;
21
+ }}
22
+ ::-webkit-scrollbar {{
23
+ height: 12px;
24
+ width: 12px;
25
+ }}
26
+ ::-webkit-scrollbar-thumb {{
27
+ -webkit-border-radius: 1ex;
28
+ -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.75);
29
+ }}
30
+ .ts {{
31
+ display: none;
32
+ }}
33
+
34
+ /* base */
35
+ a {{
36
+ text-decoration: none;
37
+ color: #a1b5c4 !important;
38
+ }}
39
+ a:hover {{
40
+ cursor: pointer !important;
41
+ text-decoration: underline;
42
+ }}
43
+ p {{
44
+ margin-top: 5px;
45
+ margin-bottom: 5px;
46
+ }}
47
+
48
+ /* images */
49
+ .image {{
50
+ max-width: 320px;
51
+ }}
52
+
53
+ /* cmd */
54
+ .cmd {{
55
+ font-family: 'Lato';
56
+ text-decoration: none;
57
+ padding-bottom: 0px;
58
+ font-size: 0.8rem;
59
+ }}
60
+
61
+ /* lists, code */
62
+ ul, ol, .list {{
63
+ margin-top: 0px;
64
+ margin-bottom: 0px;
65
+ }}
66
+ pre {{
67
+ font-family: 'Monaspace Neon';
68
+ display: block;
69
+ text-align: left;
70
+ padding: 0;
71
+ overflow-y: auto;
72
+ }}
73
+ code {{
74
+ font-family: 'Monaspace Neon';
75
+ overflow-y: auto;
76
+ font-size: 0.8rem;
77
+ }}
78
+ .code-header-wrapper {{
79
+ text-align: right;
80
+ width: auto;
81
+ height: 20px;
82
+ padding: 10px;
83
+ padding-top: 10px;
84
+ margin: 0;
85
+ font-size: 0.75rem;
86
+ -webkit-border-top-left-radius: .25rem;
87
+ -webkit-border-top-right-radius: .25rem;
88
+ -moz-border-radius-topleft: .25rem;
89
+ -moz-border-radius-topright: .25rem;
90
+ border-top-left-radius: .25rem;
91
+ border-top-right-radius: .25rem;
92
+ }}
93
+ .code-header {{
94
+ text-align: right;
95
+ width: 90%;
96
+ padding: 0px;
97
+ font-size: 0.75rem;
98
+ }}
99
+ .code-header-lang {{
100
+ float: left;
101
+ padding-top: 4px;
102
+ padding-left: .25rem;
103
+ }}
104
+ .code-header-copy {{
105
+ text-align: right;
106
+ text-decoration: none;
107
+ font-weight: bold;
108
+ display: inline-block;
109
+ color: #6e6e6e;
110
+ padding-right: .25rem;
111
+ }}
112
+ .code-header-copy img {{
113
+ vertical-align: middle;
114
+ padding-right: 5px;
115
+ }}
116
+ .code-header-copy:hover {{
117
+ text-decoration: none;
118
+ cursor: pointer;
119
+ }}
120
+ .code-header-copy:hover img {{
121
+ filter: brightness(130%);
122
+ }}
123
+ .code-wrapper {{
124
+ padding: 0px;
125
+ margin: 0px;
126
+ border: none;
127
+ border-radius: .25rem;
128
+ }}
129
+ .code-wrapper pre {{
130
+ padding: 0;
131
+ padding-bottom: 0;
132
+ margin-bottom: 0;
133
+ margin-top: 0;
134
+ width: 100%;
135
+ }}
136
+ .code-wrapper code {{
137
+ padding: 1.5rem;
138
+ }}
139
+ .highlight span {{
140
+ font-family: 'Monaspace Neon';
141
+ }}
142
+
143
+ /* action icons */
144
+ .action-icons {{
145
+ margin-top: 20px;
146
+ }}
147
+ .action-icons a {{
148
+ text-decoration: none;
149
+ }}
150
+ .action-icons a:hover {{
151
+ filter: brightness(120%);
152
+ }}
153
+ .action-img {{
154
+ width: 20px;
155
+ height: 20px;
156
+ }}
157
+ .edit-icon {{
158
+ display: inline;
159
+ }}
160
+ .theme-blocks.display-timestamp .ts {{
161
+ display: inline;
162
+ }}
163
+
164
+ /* message box */
165
+ .msg-box {{
166
+ max-width: 100%;
167
+ border-radius: 10px;
168
+ padding: 10px;
169
+ margin-right: 10px;
170
+ }}
171
+ .msg-user {{
172
+ white-space: pre-wrap;
173
+ width: fit-content;
174
+ min-width: 10px;
175
+ max-width: 75%;
176
+ padding: 5px;
177
+ padding-left: 10px;
178
+ padding-right: 10px;
179
+ margin-top: 10px;
180
+ margin-left: auto;
181
+ margin-bottom: 5px;
182
+ border: none;
183
+ }}
184
+ .msg-bot {{
185
+ white-space: pre-wrap;
186
+ width: auto;
187
+ max-width: 100%;
188
+ margin-top: 10px;
189
+ margin-bottom: 0px;
190
+ padding-bottom: 0px;
191
+ background: none;
192
+ border: none;
193
+ }}
194
+ .msg-box:not(first-child) {{
195
+ margin-top: 20px !important;
196
+ }}
197
+ .msg-box:first-child {{
198
+ margin-top: 0px;
199
+ }}
200
+ .msg-box:last-child {{
201
+ margin-bottom: 20px !important;
202
+ }}
203
+ .msg-box .name-header {{
204
+ display: none;
205
+ }}
206
+ .msg-extra {{
207
+ margin-top: 10px;
208
+ margin-bottom: 0px;
209
+ color: gray;
210
+ }}
211
+ .msg-extra a {{
212
+ color: gray;
213
+ }}
214
+ .msg-user .msg-extra {{
215
+ display: none;
216
+ }}
217
+ .msg-box .msg {{
218
+ margin: 0;
219
+ padding: 5px;
220
+ width: auto;
221
+ }}
222
+
223
+ /* tool output */
224
+ .tool-output-header {{
225
+ margin-top: 15px;
226
+ margin-bottom: 10px;
227
+ font-weight: bold;
228
+ color: gray;
229
+ }}
230
+ .tool-output .content {{
231
+ padding: 10px;
232
+ color: gray !important;
233
+ }}
234
+ .tool-output .toggle-cmd-output {{
235
+ cursor: pointer;
236
+ padding-top: 10px;
237
+ display: block;
238
+ color: gray;
239
+ }}
240
+
241
+ /* extra source */
242
+ .extra-src-icon {{
243
+ padding-right: 2px;
244
+ width: 25px;
245
+ height: 25px;
246
+ vertical-align: middle;
247
+ }}
248
+ .extra-src-img-box {{
249
+ display: inline-block;
250
+ text-align: center;
251
+ padding: 5px;
252
+ margin: 5px;
253
+ max-width: 320px;
254
+ height: auto;
255
+ white-space: pre-wrap;
256
+ word-break: break-all !important;
257
+ }}
258
+ .extra-src-img-box:hover {{
259
+ cursor: pointer;
260
+ }}
261
+ .extra-src-img-box .title {{
262
+ width: 320px;
263
+ overflow: hidden;
264
+ white-space: nowrap;
265
+ text-overflow: ellipsis;
266
+ display: block;
267
+ text-align: center;
268
+ padding: 0;
269
+ margin: 0;
270
+ padding-top: 10px;
271
+ display: block;
272
+ font-size: 0.95rem;
273
+ }}
274
+ .extra-src-img-box .img-outer {{
275
+ display: flex;
276
+ flex-direction: column;
277
+ }}
278
+ .extra-src-img-box .img-wrapper {{
279
+ position: relative;
280
+ overflow: hidden;
281
+ border: 1px solid #000;
282
+ background: #000;
283
+ width: 320px;
284
+ height: 280px;
285
+ margin: 0;
286
+ margin-bottom: 0px !important;
287
+ border-radius: 5px;
288
+ -webkit-box-shadow: 8px 8px 22px -16px rgba(0, 0, 0, 1);
289
+ -moz-box-shadow: 8px 8px 22px -16px rgba(0, 0, 0, 1);
290
+ box-shadow: 8px 8px 22px -16px rgba(0, 0, 0, 1);
291
+ }}
292
+ .extra-src-img-box .img-wrapper:hover {{
293
+ border: 1px solid gray;
294
+ }}
295
+ .extra-src-img-box img {{
296
+ margin-bottom: 2px;
297
+ padding-bottom: 0px;
298
+ display: block;
299
+ width: 100%;
300
+ height: 100%;
301
+ object-fit: cover;
302
+ }}
303
+
304
+ /* common */
305
+ .toggle-expanded {{
306
+ transform: rotateX(180deg);
307
+ }}
308
+ .append_input {{
309
+ margin: 0;
310
+ padding: 0;
311
+ }}
312
+ .append_output {{
313
+ margin: 0;
314
+ padding: 0;
315
+ }}
316
+ .empty_list {{
317
+ }}
318
+ .spinner {{
319
+ display: inline-block;
320
+ animation: spin 2s linear infinite;
321
+ margin: auto !important;
322
+ padding: 0 !important;
323
+ margin-top: 8px !important;
324
+ width:30px !important;
325
+ height:30px !important;
326
+ }}
327
+ .spinner .img {{
328
+ margin: auto;
329
+ display: block;
330
+ width: 100% !important;
331
+ height: 100% !important;
332
+ }}
333
+
334
+ /* anims */
335
+ @keyframes spin {{
336
+ from {{
337
+ transform: rotate(0deg);
338
+ }}
339
+ to {{
340
+ transform: rotate(360deg);
341
+ }}
342
+ }}
343
+
344
+ /* debug */
345
+ .debug {{
346
+ color: orange !important;
347
+ background: #0d1117;
348
+ padding: 10px;
349
+ font-size: 0.9rem;
350
+ }}
@@ -0,0 +1,64 @@
1
+ body {{
2
+ color: #fff;
3
+ background-color: #232629;
4
+ }}
5
+ ::-webkit-scrollbar {{
6
+ background: #232629;
7
+ }}
8
+ ::-webkit-scrollbar-thumb {{
9
+ background: {QTMATERIAL_SECONDARYLIGHTCOLOR};
10
+ }}
11
+ ::-webkit-scrollbar-thumb:hover {{
12
+ background: {QTMATERIAL_PRIMARYLIGHTCOLOR};
13
+ }}
14
+ ::-webkit-scrollbar-corner {{
15
+ background: #232629;
16
+ }}
17
+ a {{
18
+ color: #a1b5c4 !important;
19
+ }}
20
+ a:hover {{
21
+ color: #b8cad7 !important;
22
+ }}
23
+ .msg-user {{
24
+ background: #303030;
25
+ color: #fff !important;
26
+ }}
27
+ .msg-bot {{
28
+ color: #fff;
29
+ }}
30
+ .cmd {{
31
+ color: #4d4d4d;
32
+ }}
33
+ .ts {{
34
+ color: #4d4d4d;
35
+ }}
36
+ .list {{
37
+ }}
38
+ code {{
39
+ color: {QTMATERIAL_PRIMARYLIGHTCOLOR};
40
+ }}
41
+ .code-header-wrapper {{
42
+ background-color: #303030;
43
+ }}
44
+ .code-header-copy {{
45
+ color: silver !important;
46
+ }}
47
+ .code-header-copy:hover {{
48
+ color: #fff;
49
+ }}
50
+ .code-header-copy:hover img {{
51
+ filter: brightness(130%);
52
+ }}
53
+ .code-header-lang {{
54
+ color: #686868;
55
+ }}
56
+ .action-icons a:hover {{
57
+ filter: brightness(130%);
58
+ }}
59
+ .name-bot::before {{
60
+ background-color: {QTMATERIAL_PRIMARYLIGHTCOLOR};
61
+ }}
62
+ .name-user::before {{
63
+ background-color: silver;
64
+ }}
@@ -0,0 +1,75 @@
1
+ body {{
2
+ color: #000;
3
+ background-color: #fff;
4
+ }}
5
+ ::-webkit-scrollbar {{
6
+ background: silver;
7
+ }}
8
+ ::-webkit-scrollbar-thumb {{
9
+ background: gray;
10
+ }}
11
+ ::-webkit-scrollbar-thumb:hover {{
12
+ background: #494949;
13
+ }}
14
+ ::-webkit-scrollbar-corner {{
15
+ background: {QTMATERIAL_SECONDARYLIGHTCOLOR};
16
+ }}
17
+ p {{
18
+ color: #000;
19
+ }}
20
+ a {{
21
+ color: #3b7097 !important;
22
+ }}
23
+ .msg-user {{
24
+ color: #000;
25
+ }}
26
+ .msg-user p {{
27
+ color: #000;
28
+ }}
29
+ .msg-bot {{
30
+ color: #000;
31
+ }}
32
+ .cmd {{
33
+ color: #4d4d4d;
34
+ text-decoration: none;
35
+ }}
36
+ .ts {{
37
+ color: #4d4d4d;
38
+ }}
39
+ code {{
40
+ color: #000;
41
+ }}
42
+ .code-wrapper {{
43
+ color: #fff;
44
+ border: 1px solid #d4d4d4;
45
+ }}
46
+ .code-header-wrapper {{
47
+ color: #fff;
48
+ background: #e1e1e1;
49
+ }}
50
+ .code-header-copy {{
51
+ color: #444444 !important;
52
+ }}
53
+ .code-header-copy:hover {{
54
+ color: #000 !important;
55
+ cursor: pointer;
56
+ }}
57
+ .code-header-copy:hover img {{
58
+ filter: brightness(60%);
59
+ }}
60
+ .code-header-lang {{
61
+ color: #5c5c5c;
62
+ }}
63
+ .msg-user {{
64
+ background-color: #f3f3f3;
65
+ color: #000;
66
+ }}
67
+ .name-bot::before {{
68
+ background-color: #6b6b6b;
69
+ }}
70
+ .name-user::before {{
71
+ background-color: silver;
72
+ }}
73
+ .action-icons a:hover {{
74
+ filter: brightness(60%);
75
+ }}