pygpt-net 2.4.47__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 (2180) hide show
  1. CHANGELOG.md +2137 -0
  2. README.md +4088 -0
  3. icon.png +0 -0
  4. pygpt_net/CHANGELOG.txt +2137 -0
  5. pygpt_net/LICENSE +11 -0
  6. pygpt_net/__init__.py +26 -0
  7. pygpt_net/app.py +394 -0
  8. pygpt_net/config.py +548 -0
  9. pygpt_net/container.py +116 -0
  10. pygpt_net/controller/__init__.py +177 -0
  11. pygpt_net/controller/access/__init__.py +81 -0
  12. pygpt_net/controller/access/control.py +410 -0
  13. pygpt_net/controller/access/voice.py +432 -0
  14. pygpt_net/controller/agent/__init__.py +43 -0
  15. pygpt_net/controller/agent/common.py +126 -0
  16. pygpt_net/controller/agent/experts.py +165 -0
  17. pygpt_net/controller/agent/legacy.py +398 -0
  18. pygpt_net/controller/agent/llama.py +154 -0
  19. pygpt_net/controller/assistant/__init__.py +302 -0
  20. pygpt_net/controller/assistant/batch.py +576 -0
  21. pygpt_net/controller/assistant/editor.py +455 -0
  22. pygpt_net/controller/assistant/files.py +437 -0
  23. pygpt_net/controller/assistant/store.py +480 -0
  24. pygpt_net/controller/assistant/threads.py +622 -0
  25. pygpt_net/controller/attachment.py +665 -0
  26. pygpt_net/controller/audio/__init__.py +349 -0
  27. pygpt_net/controller/calendar/__init__.py +152 -0
  28. pygpt_net/controller/calendar/note.py +382 -0
  29. pygpt_net/controller/camera.py +513 -0
  30. pygpt_net/controller/chat/__init__.py +104 -0
  31. pygpt_net/controller/chat/attachment.py +621 -0
  32. pygpt_net/controller/chat/audio.py +99 -0
  33. pygpt_net/controller/chat/command.py +90 -0
  34. pygpt_net/controller/chat/common.py +415 -0
  35. pygpt_net/controller/chat/files.py +81 -0
  36. pygpt_net/controller/chat/image.py +249 -0
  37. pygpt_net/controller/chat/input.py +277 -0
  38. pygpt_net/controller/chat/output.py +255 -0
  39. pygpt_net/controller/chat/render.py +621 -0
  40. pygpt_net/controller/chat/response.py +278 -0
  41. pygpt_net/controller/chat/stream.py +186 -0
  42. pygpt_net/controller/chat/text.py +267 -0
  43. pygpt_net/controller/chat/vision.py +88 -0
  44. pygpt_net/controller/command.py +162 -0
  45. pygpt_net/controller/config/__init__.py +152 -0
  46. pygpt_net/controller/config/field/__init__.py +0 -0
  47. pygpt_net/controller/config/field/checkbox.py +86 -0
  48. pygpt_net/controller/config/field/cmd.py +144 -0
  49. pygpt_net/controller/config/field/combo.py +110 -0
  50. pygpt_net/controller/config/field/dictionary.py +221 -0
  51. pygpt_net/controller/config/field/input.py +119 -0
  52. pygpt_net/controller/config/field/slider.py +147 -0
  53. pygpt_net/controller/config/field/textarea.py +84 -0
  54. pygpt_net/controller/config/placeholder.py +387 -0
  55. pygpt_net/controller/ctx/__init__.py +1110 -0
  56. pygpt_net/controller/ctx/common.py +189 -0
  57. pygpt_net/controller/ctx/extra.py +234 -0
  58. pygpt_net/controller/ctx/summarizer.py +108 -0
  59. pygpt_net/controller/debug/__init__.py +262 -0
  60. pygpt_net/controller/dialogs/__init__.py +32 -0
  61. pygpt_net/controller/dialogs/confirm.py +401 -0
  62. pygpt_net/controller/dialogs/debug.py +189 -0
  63. pygpt_net/controller/dialogs/info.py +102 -0
  64. pygpt_net/controller/files.py +491 -0
  65. pygpt_net/controller/finder.py +175 -0
  66. pygpt_net/controller/idx/__init__.py +349 -0
  67. pygpt_net/controller/idx/common.py +66 -0
  68. pygpt_net/controller/idx/indexer.py +702 -0
  69. pygpt_net/controller/idx/settings.py +185 -0
  70. pygpt_net/controller/kernel/__init__.py +370 -0
  71. pygpt_net/controller/kernel/reply.py +171 -0
  72. pygpt_net/controller/kernel/stack.py +137 -0
  73. pygpt_net/controller/lang/__init__.py +100 -0
  74. pygpt_net/controller/lang/custom.py +117 -0
  75. pygpt_net/controller/lang/mapping.py +485 -0
  76. pygpt_net/controller/lang/plugins.py +95 -0
  77. pygpt_net/controller/lang/settings.py +64 -0
  78. pygpt_net/controller/launcher.py +57 -0
  79. pygpt_net/controller/layout.py +290 -0
  80. pygpt_net/controller/mode.py +220 -0
  81. pygpt_net/controller/model/__init__.py +174 -0
  82. pygpt_net/controller/model/editor.py +420 -0
  83. pygpt_net/controller/notepad.py +288 -0
  84. pygpt_net/controller/painter/__init__.py +91 -0
  85. pygpt_net/controller/painter/capture.py +197 -0
  86. pygpt_net/controller/painter/common.py +195 -0
  87. pygpt_net/controller/plugins/__init__.py +485 -0
  88. pygpt_net/controller/plugins/presets.py +407 -0
  89. pygpt_net/controller/plugins/settings.py +178 -0
  90. pygpt_net/controller/presets/__init__.py +620 -0
  91. pygpt_net/controller/presets/editor.py +590 -0
  92. pygpt_net/controller/presets/experts.py +156 -0
  93. pygpt_net/controller/settings/__init__.py +240 -0
  94. pygpt_net/controller/settings/editor.py +446 -0
  95. pygpt_net/controller/settings/profile.py +569 -0
  96. pygpt_net/controller/settings/workdir.py +215 -0
  97. pygpt_net/controller/theme/__init__.py +228 -0
  98. pygpt_net/controller/theme/common.py +180 -0
  99. pygpt_net/controller/theme/markdown.py +188 -0
  100. pygpt_net/controller/theme/menu.py +122 -0
  101. pygpt_net/controller/theme/nodes.py +138 -0
  102. pygpt_net/controller/tools/__init__.py +91 -0
  103. pygpt_net/controller/ui/__init__.py +177 -0
  104. pygpt_net/controller/ui/mode.py +256 -0
  105. pygpt_net/controller/ui/tabs.py +687 -0
  106. pygpt_net/controller/ui/vision.py +71 -0
  107. pygpt_net/core/__init__.py +0 -0
  108. pygpt_net/core/access/__init__.py +30 -0
  109. pygpt_net/core/access/actions.py +131 -0
  110. pygpt_net/core/access/helpers.py +234 -0
  111. pygpt_net/core/access/shortcuts.py +104 -0
  112. pygpt_net/core/access/voice.py +277 -0
  113. pygpt_net/core/agents/__init__.py +32 -0
  114. pygpt_net/core/agents/legacy.py +66 -0
  115. pygpt_net/core/agents/memory.py +80 -0
  116. pygpt_net/core/agents/observer/__init__.py +17 -0
  117. pygpt_net/core/agents/observer/evaluation.py +163 -0
  118. pygpt_net/core/agents/provider.py +68 -0
  119. pygpt_net/core/agents/runner.py +702 -0
  120. pygpt_net/core/agents/tools.py +175 -0
  121. pygpt_net/core/assistants/__init__.py +168 -0
  122. pygpt_net/core/assistants/files.py +359 -0
  123. pygpt_net/core/assistants/store.py +300 -0
  124. pygpt_net/core/attachments/__init__.py +478 -0
  125. pygpt_net/core/attachments/context.py +752 -0
  126. pygpt_net/core/attachments/worker.py +40 -0
  127. pygpt_net/core/audio/__init__.py +165 -0
  128. pygpt_net/core/audio/context.py +39 -0
  129. pygpt_net/core/audio/whisper.py +37 -0
  130. pygpt_net/core/bridge/__init__.py +266 -0
  131. pygpt_net/core/bridge/context.py +113 -0
  132. pygpt_net/core/bridge/worker.py +157 -0
  133. pygpt_net/core/calendar/__init__.py +276 -0
  134. pygpt_net/core/camera.py +120 -0
  135. pygpt_net/core/chain/__init__.py +117 -0
  136. pygpt_net/core/chain/chat.py +172 -0
  137. pygpt_net/core/chain/completion.py +178 -0
  138. pygpt_net/core/command.py +591 -0
  139. pygpt_net/core/ctx/__init__.py +1611 -0
  140. pygpt_net/core/ctx/bag.py +53 -0
  141. pygpt_net/core/ctx/container.py +142 -0
  142. pygpt_net/core/ctx/idx.py +271 -0
  143. pygpt_net/core/ctx/output.py +247 -0
  144. pygpt_net/core/ctx/reply.py +63 -0
  145. pygpt_net/core/db/__init__.py +505 -0
  146. pygpt_net/core/db/viewer.py +258 -0
  147. pygpt_net/core/debug/__init__.py +329 -0
  148. pygpt_net/core/debug/agent.py +37 -0
  149. pygpt_net/core/debug/assistants.py +65 -0
  150. pygpt_net/core/debug/attachments.py +45 -0
  151. pygpt_net/core/debug/config.py +54 -0
  152. pygpt_net/core/debug/context.py +106 -0
  153. pygpt_net/core/debug/db.py +28 -0
  154. pygpt_net/core/debug/events.py +58 -0
  155. pygpt_net/core/debug/indexes.py +114 -0
  156. pygpt_net/core/debug/kernel.py +30 -0
  157. pygpt_net/core/debug/models.py +56 -0
  158. pygpt_net/core/debug/plugins.py +38 -0
  159. pygpt_net/core/debug/presets.py +74 -0
  160. pygpt_net/core/debug/tabs.py +49 -0
  161. pygpt_net/core/debug/ui.py +74 -0
  162. pygpt_net/core/dispatcher.py +150 -0
  163. pygpt_net/core/docker/__init__.py +410 -0
  164. pygpt_net/core/docker/builder.py +87 -0
  165. pygpt_net/core/events/__init__.py +17 -0
  166. pygpt_net/core/events/app.py +54 -0
  167. pygpt_net/core/events/base.py +73 -0
  168. pygpt_net/core/events/control.py +88 -0
  169. pygpt_net/core/events/event.py +120 -0
  170. pygpt_net/core/events/kernel.py +67 -0
  171. pygpt_net/core/events/render.py +71 -0
  172. pygpt_net/core/experts/__init__.py +501 -0
  173. pygpt_net/core/filesystem/__init__.py +479 -0
  174. pygpt_net/core/filesystem/actions.py +125 -0
  175. pygpt_net/core/filesystem/editor.py +133 -0
  176. pygpt_net/core/filesystem/packer.py +87 -0
  177. pygpt_net/core/filesystem/types.py +109 -0
  178. pygpt_net/core/filesystem/url.py +85 -0
  179. pygpt_net/core/history.py +96 -0
  180. pygpt_net/core/idx/__init__.py +591 -0
  181. pygpt_net/core/idx/chat.py +708 -0
  182. pygpt_net/core/idx/context.py +103 -0
  183. pygpt_net/core/idx/indexing.py +1209 -0
  184. pygpt_net/core/idx/llm.py +144 -0
  185. pygpt_net/core/idx/metadata.py +136 -0
  186. pygpt_net/core/idx/types/__init__.py +0 -0
  187. pygpt_net/core/idx/types/ctx.py +139 -0
  188. pygpt_net/core/idx/types/external.py +198 -0
  189. pygpt_net/core/idx/types/files.py +164 -0
  190. pygpt_net/core/idx/ui/__init__.py +22 -0
  191. pygpt_net/core/idx/ui/loaders.py +217 -0
  192. pygpt_net/core/idx/worker.py +117 -0
  193. pygpt_net/core/image.py +128 -0
  194. pygpt_net/core/info.py +27 -0
  195. pygpt_net/core/installer.py +70 -0
  196. pygpt_net/core/llm/__init__.py +50 -0
  197. pygpt_net/core/locale.py +180 -0
  198. pygpt_net/core/models.py +402 -0
  199. pygpt_net/core/modes.py +128 -0
  200. pygpt_net/core/notepad.py +164 -0
  201. pygpt_net/core/platforms.py +153 -0
  202. pygpt_net/core/plugins.py +498 -0
  203. pygpt_net/core/presets.py +524 -0
  204. pygpt_net/core/profile.py +280 -0
  205. pygpt_net/core/prompt/__init__.py +156 -0
  206. pygpt_net/core/prompt/custom.py +307 -0
  207. pygpt_net/core/prompt/template.py +107 -0
  208. pygpt_net/core/render/__init__.py +10 -0
  209. pygpt_net/core/render/base.py +416 -0
  210. pygpt_net/core/render/markdown/__init__.py +10 -0
  211. pygpt_net/core/render/markdown/body.py +210 -0
  212. pygpt_net/core/render/markdown/helpers.py +91 -0
  213. pygpt_net/core/render/markdown/parser.py +172 -0
  214. pygpt_net/core/render/markdown/pid.py +23 -0
  215. pygpt_net/core/render/markdown/renderer.py +649 -0
  216. pygpt_net/core/render/plain/__init__.py +10 -0
  217. pygpt_net/core/render/plain/body.py +130 -0
  218. pygpt_net/core/render/plain/helpers.py +60 -0
  219. pygpt_net/core/render/plain/pid.py +22 -0
  220. pygpt_net/core/render/plain/renderer.py +536 -0
  221. pygpt_net/core/render/web/__init__.py +10 -0
  222. pygpt_net/core/render/web/body.py +800 -0
  223. pygpt_net/core/render/web/helpers.py +102 -0
  224. pygpt_net/core/render/web/parser.py +297 -0
  225. pygpt_net/core/render/web/pid.py +36 -0
  226. pygpt_net/core/render/web/renderer.py +1356 -0
  227. pygpt_net/core/render/web/syntax_highlight.py +58 -0
  228. pygpt_net/core/settings.py +210 -0
  229. pygpt_net/core/tabs/__init__.py +822 -0
  230. pygpt_net/core/tabs/tab.py +81 -0
  231. pygpt_net/core/text/__init__.py +0 -0
  232. pygpt_net/core/text/finder.py +214 -0
  233. pygpt_net/core/text/utils.py +78 -0
  234. pygpt_net/core/text/web_finder.py +213 -0
  235. pygpt_net/core/tokens.py +460 -0
  236. pygpt_net/core/types/__init__.py +12 -0
  237. pygpt_net/core/types/mode.py +22 -0
  238. pygpt_net/core/updater/__init__.py +484 -0
  239. pygpt_net/core/vision/__init__.py +22 -0
  240. pygpt_net/core/vision/analyzer.py +158 -0
  241. pygpt_net/core/web/__init__.py +105 -0
  242. pygpt_net/core/web/helpers.py +237 -0
  243. pygpt_net/core/worker.py +29 -0
  244. pygpt_net/css.qrc +5 -0
  245. pygpt_net/css_rc.py +251 -0
  246. pygpt_net/data/audio/click_off.mp3 +0 -0
  247. pygpt_net/data/audio/click_on.mp3 +0 -0
  248. pygpt_net/data/audio/ok.mp3 +0 -0
  249. pygpt_net/data/config/config.json +373 -0
  250. pygpt_net/data/config/models.json +2038 -0
  251. pygpt_net/data/config/modes.json +75 -0
  252. pygpt_net/data/config/presets/agent_openai.json +33 -0
  253. pygpt_net/data/config/presets/agent_openai_assistant.json +33 -0
  254. pygpt_net/data/config/presets/agent_planner.json +33 -0
  255. pygpt_net/data/config/presets/agent_react.json +33 -0
  256. pygpt_net/data/config/presets/batman_and_joker.json +23 -0
  257. pygpt_net/data/config/presets/current.agent.json +23 -0
  258. pygpt_net/data/config/presets/current.agent_llama.json +32 -0
  259. pygpt_net/data/config/presets/current.assistant.json +23 -0
  260. pygpt_net/data/config/presets/current.audio.json +34 -0
  261. pygpt_net/data/config/presets/current.chat.json +23 -0
  262. pygpt_net/data/config/presets/current.completion.json +23 -0
  263. pygpt_net/data/config/presets/current.expert.json +23 -0
  264. pygpt_net/data/config/presets/current.img.json +23 -0
  265. pygpt_net/data/config/presets/current.langchain.json +23 -0
  266. pygpt_net/data/config/presets/current.llama_index.json +23 -0
  267. pygpt_net/data/config/presets/current.vision.json +23 -0
  268. pygpt_net/data/config/presets/dalle_white_cat.json +23 -0
  269. pygpt_net/data/config/presets/joke_agent.json +25 -0
  270. pygpt_net/data/config/presets/joke_expert.json +29 -0
  271. pygpt_net/data/config/settings.json +1824 -0
  272. pygpt_net/data/config/settings_section.json +47 -0
  273. pygpt_net/data/css/fix_windows.css +21 -0
  274. pygpt_net/data/css/markdown.css +66 -0
  275. pygpt_net/data/css/markdown.dark.css +44 -0
  276. pygpt_net/data/css/markdown.light.css +55 -0
  277. pygpt_net/data/css/style.css +28 -0
  278. pygpt_net/data/css/style.dark.css +51 -0
  279. pygpt_net/data/css/style.light.css +102 -0
  280. pygpt_net/data/css/web-blocks.css +339 -0
  281. pygpt_net/data/css/web-blocks.dark.css +74 -0
  282. pygpt_net/data/css/web-blocks.light.css +82 -0
  283. pygpt_net/data/css/web-chatgpt.css +350 -0
  284. pygpt_net/data/css/web-chatgpt.dark.css +64 -0
  285. pygpt_net/data/css/web-chatgpt.light.css +75 -0
  286. pygpt_net/data/css/web-chatgpt_wide.css +350 -0
  287. pygpt_net/data/css/web-chatgpt_wide.dark.css +64 -0
  288. pygpt_net/data/css/web-chatgpt_wide.light.css +75 -0
  289. pygpt_net/data/fonts/Lato/Lato-Black.ttf +0 -0
  290. pygpt_net/data/fonts/Lato/Lato-BlackItalic.ttf +0 -0
  291. pygpt_net/data/fonts/Lato/Lato-Bold.ttf +0 -0
  292. pygpt_net/data/fonts/Lato/Lato-BoldItalic.ttf +0 -0
  293. pygpt_net/data/fonts/Lato/Lato-Italic.ttf +0 -0
  294. pygpt_net/data/fonts/Lato/Lato-Light.ttf +0 -0
  295. pygpt_net/data/fonts/Lato/Lato-LightItalic.ttf +0 -0
  296. pygpt_net/data/fonts/Lato/Lato-Regular.ttf +0 -0
  297. pygpt_net/data/fonts/Lato/Lato-Thin.ttf +0 -0
  298. pygpt_net/data/fonts/Lato/Lato-ThinItalic.ttf +0 -0
  299. pygpt_net/data/fonts/Lato/OFL.txt +93 -0
  300. pygpt_net/data/fonts/MonaspaceArgon/MonaspaceArgon-Bold.otf +0 -0
  301. pygpt_net/data/fonts/MonaspaceArgon/MonaspaceArgon-BoldItalic.otf +0 -0
  302. pygpt_net/data/fonts/MonaspaceArgon/MonaspaceArgon-Italic.otf +0 -0
  303. pygpt_net/data/fonts/MonaspaceArgon/MonaspaceArgon-Regular.otf +0 -0
  304. pygpt_net/data/fonts/MonaspaceKrypton/MonaspaceKrypton-Bold.otf +0 -0
  305. pygpt_net/data/fonts/MonaspaceKrypton/MonaspaceKrypton-BoldItalic.otf +0 -0
  306. pygpt_net/data/fonts/MonaspaceKrypton/MonaspaceKrypton-Italic.otf +0 -0
  307. pygpt_net/data/fonts/MonaspaceKrypton/MonaspaceKrypton-Regular.otf +0 -0
  308. pygpt_net/data/fonts/MonaspaceNeon/MonaspaceNeon-Bold.otf +0 -0
  309. pygpt_net/data/fonts/MonaspaceNeon/MonaspaceNeon-BoldItalic.otf +0 -0
  310. pygpt_net/data/fonts/MonaspaceNeon/MonaspaceNeon-Italic.otf +0 -0
  311. pygpt_net/data/fonts/MonaspaceNeon/MonaspaceNeon-Regular.otf +0 -0
  312. pygpt_net/data/fonts/MonaspaceRadon/MonaspaceRadon-Bold.otf +0 -0
  313. pygpt_net/data/fonts/MonaspaceRadon/MonaspaceRadon-BoldItalic.otf +0 -0
  314. pygpt_net/data/fonts/MonaspaceRadon/MonaspaceRadon-Italic.otf +0 -0
  315. pygpt_net/data/fonts/MonaspaceRadon/MonaspaceRadon-Regular.otf +0 -0
  316. pygpt_net/data/fonts/MonaspaceXenon/MonaspaceXenon-Bold.otf +0 -0
  317. pygpt_net/data/fonts/MonaspaceXenon/MonaspaceXenon-BoldItalic.otf +0 -0
  318. pygpt_net/data/fonts/MonaspaceXenon/MonaspaceXenon-Italic.otf +0 -0
  319. pygpt_net/data/fonts/MonaspaceXenon/MonaspaceXenon-Regular.otf +0 -0
  320. pygpt_net/data/fonts/SpaceMono/OFL.txt +93 -0
  321. pygpt_net/data/fonts/SpaceMono/SpaceMono-Bold.ttf +0 -0
  322. pygpt_net/data/fonts/SpaceMono/SpaceMono-BoldItalic.ttf +0 -0
  323. pygpt_net/data/fonts/SpaceMono/SpaceMono-Italic.ttf +0 -0
  324. pygpt_net/data/fonts/SpaceMono/SpaceMono-Regular.ttf +0 -0
  325. pygpt_net/data/icon.ico +0 -0
  326. pygpt_net/data/icon.png +0 -0
  327. pygpt_net/data/icon_tray_busy.ico +0 -0
  328. pygpt_net/data/icon_tray_error.ico +0 -0
  329. pygpt_net/data/icon_tray_idle.ico +0 -0
  330. pygpt_net/data/icons/abc.svg +1 -0
  331. pygpt_net/data/icons/accessibility.svg +1 -0
  332. pygpt_net/data/icons/add.svg +1 -0
  333. pygpt_net/data/icons/add_circle.svg +1 -0
  334. pygpt_net/data/icons/add_folder.svg +1 -0
  335. pygpt_net/data/icons/add_library.svg +1 -0
  336. pygpt_net/data/icons/alarm.svg +1 -0
  337. pygpt_net/data/icons/apps.svg +1 -0
  338. pygpt_net/data/icons/asterisk.svg +1 -0
  339. pygpt_net/data/icons/attachment.svg +1 -0
  340. pygpt_net/data/icons/attachments.svg +1 -0
  341. pygpt_net/data/icons/back.svg +1 -0
  342. pygpt_net/data/icons/backspace.svg +1 -0
  343. pygpt_net/data/icons/block.svg +1 -0
  344. pygpt_net/data/icons/bookmark.svg +1 -0
  345. pygpt_net/data/icons/brush.svg +1 -0
  346. pygpt_net/data/icons/build.svg +1 -0
  347. pygpt_net/data/icons/calendar.svg +1 -0
  348. pygpt_net/data/icons/camera.svg +1 -0
  349. pygpt_net/data/icons/chat/audio.png +0 -0
  350. pygpt_net/data/icons/chat/copy.png +0 -0
  351. pygpt_net/data/icons/chat/delete.png +0 -0
  352. pygpt_net/data/icons/chat/edit.png +0 -0
  353. pygpt_net/data/icons/chat/join.png +0 -0
  354. pygpt_net/data/icons/chat/reload.png +0 -0
  355. pygpt_net/data/icons/chat.svg +1 -0
  356. pygpt_net/data/icons/check.svg +1 -0
  357. pygpt_net/data/icons/check_circle.svg +1 -0
  358. pygpt_net/data/icons/checklist.svg +1 -0
  359. pygpt_net/data/icons/circle.svg +1 -0
  360. pygpt_net/data/icons/clear.svg +1 -0
  361. pygpt_net/data/icons/clock.svg +1 -0
  362. pygpt_net/data/icons/close.svg +1 -0
  363. pygpt_net/data/icons/close_circle.svg +1 -0
  364. pygpt_net/data/icons/code.svg +1 -0
  365. pygpt_net/data/icons/collapse.svg +3 -0
  366. pygpt_net/data/icons/computer.svg +1 -0
  367. pygpt_net/data/icons/copy.svg +1 -0
  368. pygpt_net/data/icons/crop.svg +1 -0
  369. pygpt_net/data/icons/cursor.png +0 -0
  370. pygpt_net/data/icons/cut.svg +1 -0
  371. pygpt_net/data/icons/db.svg +1 -0
  372. pygpt_net/data/icons/delete.svg +1 -0
  373. pygpt_net/data/icons/done.svg +1 -0
  374. pygpt_net/data/icons/download.svg +1 -0
  375. pygpt_net/data/icons/draft.svg +1 -0
  376. pygpt_net/data/icons/drag.svg +1 -0
  377. pygpt_net/data/icons/edit.svg +1 -0
  378. pygpt_net/data/icons/emergency.svg +1 -0
  379. pygpt_net/data/icons/equalizer.svg +1 -0
  380. pygpt_net/data/icons/error.svg +1 -0
  381. pygpt_net/data/icons/event_available.svg +1 -0
  382. pygpt_net/data/icons/expand.svg +1 -0
  383. pygpt_net/data/icons/fast_forward.svg +1 -0
  384. pygpt_net/data/icons/fast_rewind.svg +1 -0
  385. pygpt_net/data/icons/favorite.svg +1 -0
  386. pygpt_net/data/icons/folder.svg +1 -0
  387. pygpt_net/data/icons/folder_filled.svg +1 -0
  388. pygpt_net/data/icons/forward.svg +1 -0
  389. pygpt_net/data/icons/full.svg +1 -0
  390. pygpt_net/data/icons/fullscreen.svg +1 -0
  391. pygpt_net/data/icons/grid.svg +1 -0
  392. pygpt_net/data/icons/hearing.svg +1 -0
  393. pygpt_net/data/icons/help.svg +1 -0
  394. pygpt_net/data/icons/history.svg +1 -0
  395. pygpt_net/data/icons/home.svg +1 -0
  396. pygpt_net/data/icons/home_filled.svg +1 -0
  397. pygpt_net/data/icons/image.svg +1 -0
  398. pygpt_net/data/icons/info.svg +1 -0
  399. pygpt_net/data/icons/input.svg +1 -0
  400. pygpt_net/data/icons/key.svg +1 -0
  401. pygpt_net/data/icons/keyboard.svg +1 -0
  402. pygpt_net/data/icons/language.svg +1 -0
  403. pygpt_net/data/icons/list.svg +1 -0
  404. pygpt_net/data/icons/lock.svg +1 -0
  405. pygpt_net/data/icons/logout.svg +1 -0
  406. pygpt_net/data/icons/map.svg +1 -0
  407. pygpt_net/data/icons/memory.svg +1 -0
  408. pygpt_net/data/icons/menu.svg +1 -0
  409. pygpt_net/data/icons/mic.svg +1 -0
  410. pygpt_net/data/icons/mic_off.svg +1 -0
  411. pygpt_net/data/icons/more_horizontal.svg +1 -0
  412. pygpt_net/data/icons/mute.svg +1 -0
  413. pygpt_net/data/icons/open_tab.svg +1 -0
  414. pygpt_net/data/icons/palette.svg +1 -0
  415. pygpt_net/data/icons/paste.svg +1 -0
  416. pygpt_net/data/icons/pause.svg +1 -0
  417. pygpt_net/data/icons/pause_circle.svg +1 -0
  418. pygpt_net/data/icons/photos.svg +1 -0
  419. pygpt_net/data/icons/pin.svg +1 -0
  420. pygpt_net/data/icons/play.svg +1 -0
  421. pygpt_net/data/icons/play_pause.svg +1 -0
  422. pygpt_net/data/icons/playlist_add.svg +1 -0
  423. pygpt_net/data/icons/power.svg +1 -0
  424. pygpt_net/data/icons/print.svg +1 -0
  425. pygpt_net/data/icons/public_filled.svg +1 -0
  426. pygpt_net/data/icons/redo.svg +1 -0
  427. pygpt_net/data/icons/reload.svg +1 -0
  428. pygpt_net/data/icons/repeat.svg +1 -0
  429. pygpt_net/data/icons/replay.svg +1 -0
  430. pygpt_net/data/icons/resize.svg +1 -0
  431. pygpt_net/data/icons/robot.svg +1 -0
  432. pygpt_net/data/icons/router.svg +1 -0
  433. pygpt_net/data/icons/save.svg +1 -0
  434. pygpt_net/data/icons/schedule.svg +1 -0
  435. pygpt_net/data/icons/screenshot.svg +1 -0
  436. pygpt_net/data/icons/search.svg +1 -0
  437. pygpt_net/data/icons/security.svg +1 -0
  438. pygpt_net/data/icons/sensors.svg +1 -0
  439. pygpt_net/data/icons/settings.svg +1 -0
  440. pygpt_net/data/icons/settings_filled.svg +1 -0
  441. pygpt_net/data/icons/share.svg +1 -0
  442. pygpt_net/data/icons/shedule.svg +1 -0
  443. pygpt_net/data/icons/sort.svg +1 -0
  444. pygpt_net/data/icons/split_screen.svg +1 -0
  445. pygpt_net/data/icons/stack.svg +1 -0
  446. pygpt_net/data/icons/stacks.svg +1 -0
  447. pygpt_net/data/icons/star.svg +1 -0
  448. pygpt_net/data/icons/stop.svg +1 -0
  449. pygpt_net/data/icons/stop_circle.svg +1 -0
  450. pygpt_net/data/icons/sync.svg +1 -0
  451. pygpt_net/data/icons/tag.svg +1 -0
  452. pygpt_net/data/icons/task.svg +1 -0
  453. pygpt_net/data/icons/terminal.svg +1 -0
  454. pygpt_net/data/icons/text.svg +1 -0
  455. pygpt_net/data/icons/textfile.svg +1 -0
  456. pygpt_net/data/icons/timer.svg +1 -0
  457. pygpt_net/data/icons/today.svg +1 -0
  458. pygpt_net/data/icons/tune.svg +1 -0
  459. pygpt_net/data/icons/undo.svg +1 -0
  460. pygpt_net/data/icons/update.svg +1 -0
  461. pygpt_net/data/icons/updater.svg +1 -0
  462. pygpt_net/data/icons/upload.svg +1 -0
  463. pygpt_net/data/icons/video.svg +1 -0
  464. pygpt_net/data/icons/view.svg +1 -0
  465. pygpt_net/data/icons/voice.svg +1 -0
  466. pygpt_net/data/icons/volume.svg +1 -0
  467. pygpt_net/data/icons/warning.svg +1 -0
  468. pygpt_net/data/icons/webcam.svg +1 -0
  469. pygpt_net/data/icons/webcam_off.svg +1 -0
  470. pygpt_net/data/icons/width.svg +1 -0
  471. pygpt_net/data/icons/window.svg +1 -0
  472. pygpt_net/data/icons/work.svg +1 -0
  473. pygpt_net/data/icons/zoom_in.svg +1 -0
  474. pygpt_net/data/icons/zoom_out.svg +1 -0
  475. pygpt_net/data/js/highlight/DIGESTS.md +793 -0
  476. pygpt_net/data/js/highlight/LICENSE +29 -0
  477. pygpt_net/data/js/highlight/README.md +45 -0
  478. pygpt_net/data/js/highlight/es/core.js +2600 -0
  479. pygpt_net/data/js/highlight/es/core.min.js +307 -0
  480. pygpt_net/data/js/highlight/es/highlight.js +2600 -0
  481. pygpt_net/data/js/highlight/es/highlight.min.js +307 -0
  482. pygpt_net/data/js/highlight/es/languages/1c.js +552 -0
  483. pygpt_net/data/js/highlight/es/languages/1c.min.js +25 -0
  484. pygpt_net/data/js/highlight/es/languages/abnf.js +91 -0
  485. pygpt_net/data/js/highlight/es/languages/abnf.min.js +12 -0
  486. pygpt_net/data/js/highlight/es/languages/accesslog.js +100 -0
  487. pygpt_net/data/js/highlight/es/languages/accesslog.min.js +13 -0
  488. pygpt_net/data/js/highlight/es/languages/actionscript.js +161 -0
  489. pygpt_net/data/js/highlight/es/languages/actionscript.min.js +17 -0
  490. pygpt_net/data/js/highlight/es/languages/ada.js +273 -0
  491. pygpt_net/data/js/highlight/es/languages/ada.min.js +25 -0
  492. pygpt_net/data/js/highlight/es/languages/angelscript.js +186 -0
  493. pygpt_net/data/js/highlight/es/languages/angelscript.min.js +21 -0
  494. pygpt_net/data/js/highlight/es/languages/apache.js +109 -0
  495. pygpt_net/data/js/highlight/es/languages/apache.min.js +14 -0
  496. pygpt_net/data/js/highlight/es/languages/applescript.js +157 -0
  497. pygpt_net/data/js/highlight/es/languages/applescript.min.js +18 -0
  498. pygpt_net/data/js/highlight/es/languages/arcade.js +425 -0
  499. pygpt_net/data/js/highlight/es/languages/arcade.min.js +28 -0
  500. pygpt_net/data/js/highlight/es/languages/arduino.js +1014 -0
  501. pygpt_net/data/js/highlight/es/languages/arduino.min.js +54 -0
  502. pygpt_net/data/js/highlight/es/languages/armasm.js +132 -0
  503. pygpt_net/data/js/highlight/es/languages/armasm.min.js +17 -0
  504. pygpt_net/data/js/highlight/es/languages/asciidoc.js +269 -0
  505. pygpt_net/data/js/highlight/es/languages/asciidoc.min.js +35 -0
  506. pygpt_net/data/js/highlight/es/languages/aspectj.js +239 -0
  507. pygpt_net/data/js/highlight/es/languages/aspectj.min.js +30 -0
  508. pygpt_net/data/js/highlight/es/languages/autohotkey.js +83 -0
  509. pygpt_net/data/js/highlight/es/languages/autohotkey.min.js +13 -0
  510. pygpt_net/data/js/highlight/es/languages/autoit.js +186 -0
  511. pygpt_net/data/js/highlight/es/languages/autoit.min.js +21 -0
  512. pygpt_net/data/js/highlight/es/languages/avrasm.js +86 -0
  513. pygpt_net/data/js/highlight/es/languages/avrasm.min.js +12 -0
  514. pygpt_net/data/js/highlight/es/languages/awk.js +76 -0
  515. pygpt_net/data/js/highlight/es/languages/awk.min.js +11 -0
  516. pygpt_net/data/js/highlight/es/languages/axapta.js +196 -0
  517. pygpt_net/data/js/highlight/es/languages/axapta.min.js +10 -0
  518. pygpt_net/data/js/highlight/es/languages/bash.js +415 -0
  519. pygpt_net/data/js/highlight/es/languages/bash.min.js +21 -0
  520. pygpt_net/data/js/highlight/es/languages/basic.js +238 -0
  521. pygpt_net/data/js/highlight/es/languages/basic.min.js +9 -0
  522. pygpt_net/data/js/highlight/es/languages/bnf.js +47 -0
  523. pygpt_net/data/js/highlight/es/languages/bnf.min.js +6 -0
  524. pygpt_net/data/js/highlight/es/languages/brainfuck.js +62 -0
  525. pygpt_net/data/js/highlight/es/languages/brainfuck.min.js +8 -0
  526. pygpt_net/data/js/highlight/es/languages/c.js +340 -0
  527. pygpt_net/data/js/highlight/es/languages/c.min.js +40 -0
  528. pygpt_net/data/js/highlight/es/languages/cal.js +168 -0
  529. pygpt_net/data/js/highlight/es/languages/cal.min.js +15 -0
  530. pygpt_net/data/js/highlight/es/languages/capnproto.js +107 -0
  531. pygpt_net/data/js/highlight/es/languages/capnproto.min.js +11 -0
  532. pygpt_net/data/js/highlight/es/languages/ceylon.js +148 -0
  533. pygpt_net/data/js/highlight/es/languages/ceylon.min.js +15 -0
  534. pygpt_net/data/js/highlight/es/languages/clean.js +75 -0
  535. pygpt_net/data/js/highlight/es/languages/clean.min.js +8 -0
  536. pygpt_net/data/js/highlight/es/languages/clojure-repl.js +35 -0
  537. pygpt_net/data/js/highlight/es/languages/clojure-repl.min.js +4 -0
  538. pygpt_net/data/js/highlight/es/languages/clojure.js +192 -0
  539. pygpt_net/data/js/highlight/es/languages/clojure.min.js +25 -0
  540. pygpt_net/data/js/highlight/es/languages/cmake.js +72 -0
  541. pygpt_net/data/js/highlight/es/languages/cmake.min.js +7 -0
  542. pygpt_net/data/js/highlight/es/languages/coffeescript.js +374 -0
  543. pygpt_net/data/js/highlight/es/languages/coffeescript.min.js +28 -0
  544. pygpt_net/data/js/highlight/es/languages/coq.js +453 -0
  545. pygpt_net/data/js/highlight/es/languages/coq.min.js +7 -0
  546. pygpt_net/data/js/highlight/es/languages/cos.js +148 -0
  547. pygpt_net/data/js/highlight/es/languages/cos.min.js +15 -0
  548. pygpt_net/data/js/highlight/es/languages/cpp.js +611 -0
  549. pygpt_net/data/js/highlight/es/languages/cpp.min.js +46 -0
  550. pygpt_net/data/js/highlight/es/languages/crmsh.js +108 -0
  551. pygpt_net/data/js/highlight/es/languages/crmsh.min.js +19 -0
  552. pygpt_net/data/js/highlight/es/languages/crystal.js +320 -0
  553. pygpt_net/data/js/highlight/es/languages/crystal.min.js +48 -0
  554. pygpt_net/data/js/highlight/es/languages/csharp.js +414 -0
  555. pygpt_net/data/js/highlight/es/languages/csharp.min.js +49 -0
  556. pygpt_net/data/js/highlight/es/languages/csp.js +66 -0
  557. pygpt_net/data/js/highlight/es/languages/csp.min.js +6 -0
  558. pygpt_net/data/js/highlight/es/languages/css.js +862 -0
  559. pygpt_net/data/js/highlight/es/languages/css.min.js +31 -0
  560. pygpt_net/data/js/highlight/es/languages/d.js +280 -0
  561. pygpt_net/data/js/highlight/es/languages/d.min.js +20 -0
  562. pygpt_net/data/js/highlight/es/languages/dart.js +270 -0
  563. pygpt_net/data/js/highlight/es/languages/dart.min.js +22 -0
  564. pygpt_net/data/js/highlight/es/languages/delphi.js +254 -0
  565. pygpt_net/data/js/highlight/es/languages/delphi.min.js +19 -0
  566. pygpt_net/data/js/highlight/es/languages/diff.js +70 -0
  567. pygpt_net/data/js/highlight/es/languages/diff.min.js +9 -0
  568. pygpt_net/data/js/highlight/es/languages/django.js +83 -0
  569. pygpt_net/data/js/highlight/es/languages/django.min.js +13 -0
  570. pygpt_net/data/js/highlight/es/languages/dns.js +86 -0
  571. pygpt_net/data/js/highlight/es/languages/dns.min.js +11 -0
  572. pygpt_net/data/js/highlight/es/languages/dockerfile.js +52 -0
  573. pygpt_net/data/js/highlight/es/languages/dockerfile.min.js +8 -0
  574. pygpt_net/data/js/highlight/es/languages/dos.js +175 -0
  575. pygpt_net/data/js/highlight/es/languages/dos.min.js +13 -0
  576. pygpt_net/data/js/highlight/es/languages/dsconfig.js +74 -0
  577. pygpt_net/data/js/highlight/es/languages/dsconfig.min.js +9 -0
  578. pygpt_net/data/js/highlight/es/languages/dts.js +165 -0
  579. pygpt_net/data/js/highlight/es/languages/dts.min.js +22 -0
  580. pygpt_net/data/js/highlight/es/languages/dust.js +55 -0
  581. pygpt_net/data/js/highlight/es/languages/dust.min.js +8 -0
  582. pygpt_net/data/js/highlight/es/languages/ebnf.js +62 -0
  583. pygpt_net/data/js/highlight/es/languages/ebnf.min.js +7 -0
  584. pygpt_net/data/js/highlight/es/languages/elixir.js +287 -0
  585. pygpt_net/data/js/highlight/es/languages/elixir.min.js +34 -0
  586. pygpt_net/data/js/highlight/es/languages/elm.js +151 -0
  587. pygpt_net/data/js/highlight/es/languages/elm.min.js +18 -0
  588. pygpt_net/data/js/highlight/es/languages/erb.js +37 -0
  589. pygpt_net/data/js/highlight/es/languages/erb.min.js +5 -0
  590. pygpt_net/data/js/highlight/es/languages/erlang-repl.js +62 -0
  591. pygpt_net/data/js/highlight/es/languages/erlang-repl.min.js +13 -0
  592. pygpt_net/data/js/highlight/es/languages/erlang.js +207 -0
  593. pygpt_net/data/js/highlight/es/languages/erlang.min.js +28 -0
  594. pygpt_net/data/js/highlight/es/languages/excel.js +553 -0
  595. pygpt_net/data/js/highlight/es/languages/excel.min.js +10 -0
  596. pygpt_net/data/js/highlight/es/languages/fix.js +47 -0
  597. pygpt_net/data/js/highlight/es/languages/fix.min.js +7 -0
  598. pygpt_net/data/js/highlight/es/languages/flix.js +87 -0
  599. pygpt_net/data/js/highlight/es/languages/flix.min.js +10 -0
  600. pygpt_net/data/js/highlight/es/languages/fortran.js +582 -0
  601. pygpt_net/data/js/highlight/es/languages/fortran.min.js +17 -0
  602. pygpt_net/data/js/highlight/es/languages/fsharp.js +635 -0
  603. pygpt_net/data/js/highlight/es/languages/fsharp.min.js +47 -0
  604. pygpt_net/data/js/highlight/es/languages/gams.js +189 -0
  605. pygpt_net/data/js/highlight/es/languages/gams.min.js +28 -0
  606. pygpt_net/data/js/highlight/es/languages/gauss.js +314 -0
  607. pygpt_net/data/js/highlight/es/languages/gauss.min.js +36 -0
  608. pygpt_net/data/js/highlight/es/languages/gcode.js +89 -0
  609. pygpt_net/data/js/highlight/es/languages/gcode.min.js +17 -0
  610. pygpt_net/data/js/highlight/es/languages/gherkin.js +57 -0
  611. pygpt_net/data/js/highlight/es/languages/gherkin.min.js +9 -0
  612. pygpt_net/data/js/highlight/es/languages/glsl.js +136 -0
  613. pygpt_net/data/js/highlight/es/languages/glsl.min.js +8 -0
  614. pygpt_net/data/js/highlight/es/languages/gml.js +3138 -0
  615. pygpt_net/data/js/highlight/es/languages/gml.min.js +10 -0
  616. pygpt_net/data/js/highlight/es/languages/go.js +164 -0
  617. pygpt_net/data/js/highlight/es/languages/go.min.js +19 -0
  618. pygpt_net/data/js/highlight/es/languages/golo.js +89 -0
  619. pygpt_net/data/js/highlight/es/languages/golo.min.js +6 -0
  620. pygpt_net/data/js/highlight/es/languages/gradle.js +198 -0
  621. pygpt_net/data/js/highlight/es/languages/gradle.min.js +6 -0
  622. pygpt_net/data/js/highlight/es/languages/graphql.js +86 -0
  623. pygpt_net/data/js/highlight/es/languages/graphql.min.js +12 -0
  624. pygpt_net/data/js/highlight/es/languages/groovy.js +198 -0
  625. pygpt_net/data/js/highlight/es/languages/groovy.min.js +21 -0
  626. pygpt_net/data/js/highlight/es/languages/haml.js +121 -0
  627. pygpt_net/data/js/highlight/es/languages/haml.min.js +18 -0
  628. pygpt_net/data/js/highlight/es/languages/handlebars.js +266 -0
  629. pygpt_net/data/js/highlight/es/languages/handlebars.min.js +29 -0
  630. pygpt_net/data/js/highlight/es/languages/haskell.js +225 -0
  631. pygpt_net/data/js/highlight/es/languages/haskell.min.js +32 -0
  632. pygpt_net/data/js/highlight/es/languages/haxe.js +175 -0
  633. pygpt_net/data/js/highlight/es/languages/haxe.min.js +30 -0
  634. pygpt_net/data/js/highlight/es/languages/hsp.js +67 -0
  635. pygpt_net/data/js/highlight/es/languages/hsp.min.js +14 -0
  636. pygpt_net/data/js/highlight/es/languages/http.js +105 -0
  637. pygpt_net/data/js/highlight/es/languages/http.min.js +14 -0
  638. pygpt_net/data/js/highlight/es/languages/hy.js +145 -0
  639. pygpt_net/data/js/highlight/es/languages/hy.min.js +15 -0
  640. pygpt_net/data/js/highlight/es/languages/inform7.js +78 -0
  641. pygpt_net/data/js/highlight/es/languages/inform7.min.js +10 -0
  642. pygpt_net/data/js/highlight/es/languages/ini.js +129 -0
  643. pygpt_net/data/js/highlight/es/languages/ini.min.js +16 -0
  644. pygpt_net/data/js/highlight/es/languages/irpf90.js +115 -0
  645. pygpt_net/data/js/highlight/es/languages/irpf90.min.js +15 -0
  646. pygpt_net/data/js/highlight/es/languages/isbl.js +3213 -0
  647. pygpt_net/data/js/highlight/es/languages/isbl.min.js +25 -0
  648. pygpt_net/data/js/highlight/es/languages/java.js +298 -0
  649. pygpt_net/data/js/highlight/es/languages/java.min.js +38 -0
  650. pygpt_net/data/js/highlight/es/languages/javascript.js +775 -0
  651. pygpt_net/data/js/highlight/es/languages/javascript.min.js +81 -0
  652. pygpt_net/data/js/highlight/es/languages/jboss-cli.js +71 -0
  653. pygpt_net/data/js/highlight/es/languages/jboss-cli.min.js +10 -0
  654. pygpt_net/data/js/highlight/es/languages/json.js +62 -0
  655. pygpt_net/data/js/highlight/es/languages/json.min.js +8 -0
  656. pygpt_net/data/js/highlight/es/languages/julia-repl.js +59 -0
  657. pygpt_net/data/js/highlight/es/languages/julia-repl.min.js +4 -0
  658. pygpt_net/data/js/highlight/es/languages/julia.js +450 -0
  659. pygpt_net/data/js/highlight/es/languages/julia.min.js +18 -0
  660. pygpt_net/data/js/highlight/es/languages/kotlin.js +294 -0
  661. pygpt_net/data/js/highlight/es/languages/kotlin.min.js +46 -0
  662. pygpt_net/data/js/highlight/es/languages/lasso.js +179 -0
  663. pygpt_net/data/js/highlight/es/languages/lasso.min.js +28 -0
  664. pygpt_net/data/js/highlight/es/languages/latex.js +286 -0
  665. pygpt_net/data/js/highlight/es/languages/latex.min.js +34 -0
  666. pygpt_net/data/js/highlight/es/languages/ldif.js +39 -0
  667. pygpt_net/data/js/highlight/es/languages/ldif.min.js +5 -0
  668. pygpt_net/data/js/highlight/es/languages/leaf.js +105 -0
  669. pygpt_net/data/js/highlight/es/languages/leaf.min.js +12 -0
  670. pygpt_net/data/js/highlight/es/languages/less.js +963 -0
  671. pygpt_net/data/js/highlight/es/languages/less.min.js +45 -0
  672. pygpt_net/data/js/highlight/es/languages/lisp.js +147 -0
  673. pygpt_net/data/js/highlight/es/languages/lisp.min.js +16 -0
  674. pygpt_net/data/js/highlight/es/languages/livecodeserver.js +181 -0
  675. pygpt_net/data/js/highlight/es/languages/livecodeserver.min.js +21 -0
  676. pygpt_net/data/js/highlight/es/languages/livescript.js +386 -0
  677. pygpt_net/data/js/highlight/es/languages/livescript.min.js +35 -0
  678. pygpt_net/data/js/highlight/es/languages/llvm.js +143 -0
  679. pygpt_net/data/js/highlight/es/languages/llvm.min.js +16 -0
  680. pygpt_net/data/js/highlight/es/languages/lsl.js +84 -0
  681. pygpt_net/data/js/highlight/es/languages/lsl.min.js +19 -0
  682. pygpt_net/data/js/highlight/es/languages/lua.js +88 -0
  683. pygpt_net/data/js/highlight/es/languages/lua.min.js +14 -0
  684. pygpt_net/data/js/highlight/es/languages/makefile.js +94 -0
  685. pygpt_net/data/js/highlight/es/languages/makefile.min.js +14 -0
  686. pygpt_net/data/js/highlight/es/languages/markdown.js +256 -0
  687. pygpt_net/data/js/highlight/es/languages/markdown.min.js +32 -0
  688. pygpt_net/data/js/highlight/es/languages/mathematica.js +7367 -0
  689. pygpt_net/data/js/highlight/es/languages/mathematica.min.js +21 -0
  690. pygpt_net/data/js/highlight/es/languages/matlab.js +115 -0
  691. pygpt_net/data/js/highlight/es/languages/matlab.min.js +15 -0
  692. pygpt_net/data/js/highlight/es/languages/maxima.js +422 -0
  693. pygpt_net/data/js/highlight/es/languages/maxima.min.js +12 -0
  694. pygpt_net/data/js/highlight/es/languages/mel.js +243 -0
  695. pygpt_net/data/js/highlight/es/languages/mel.min.js +8 -0
  696. pygpt_net/data/js/highlight/es/languages/mercury.js +116 -0
  697. pygpt_net/data/js/highlight/es/languages/mercury.min.js +16 -0
  698. pygpt_net/data/js/highlight/es/languages/mipsasm.js +112 -0
  699. pygpt_net/data/js/highlight/es/languages/mipsasm.min.js +15 -0
  700. pygpt_net/data/js/highlight/es/languages/mizar.js +35 -0
  701. pygpt_net/data/js/highlight/es/languages/mizar.min.js +4 -0
  702. pygpt_net/data/js/highlight/es/languages/mojolicious.js +44 -0
  703. pygpt_net/data/js/highlight/es/languages/mojolicious.min.js +6 -0
  704. pygpt_net/data/js/highlight/es/languages/monkey.js +192 -0
  705. pygpt_net/data/js/highlight/es/languages/monkey.min.js +17 -0
  706. pygpt_net/data/js/highlight/es/languages/moonscript.js +149 -0
  707. pygpt_net/data/js/highlight/es/languages/moonscript.min.js +23 -0
  708. pygpt_net/data/js/highlight/es/languages/n1ql.js +373 -0
  709. pygpt_net/data/js/highlight/es/languages/n1ql.min.js +13 -0
  710. pygpt_net/data/js/highlight/es/languages/nestedtext.js +91 -0
  711. pygpt_net/data/js/highlight/es/languages/nestedtext.min.js +9 -0
  712. pygpt_net/data/js/highlight/es/languages/nginx.js +161 -0
  713. pygpt_net/data/js/highlight/es/languages/nginx.min.js +21 -0
  714. pygpt_net/data/js/highlight/es/languages/nim.js +193 -0
  715. pygpt_net/data/js/highlight/es/languages/nim.min.js +15 -0
  716. pygpt_net/data/js/highlight/es/languages/nix.js +103 -0
  717. pygpt_net/data/js/highlight/es/languages/nix.min.js +12 -0
  718. pygpt_net/data/js/highlight/es/languages/node-repl.js +41 -0
  719. pygpt_net/data/js/highlight/es/languages/node-repl.min.js +5 -0
  720. pygpt_net/data/js/highlight/es/languages/nsis.js +565 -0
  721. pygpt_net/data/js/highlight/es/languages/nsis.min.js +23 -0
  722. pygpt_net/data/js/highlight/es/languages/objectivec.js +261 -0
  723. pygpt_net/data/js/highlight/es/languages/objectivec.min.js +23 -0
  724. pygpt_net/data/js/highlight/es/languages/ocaml.js +91 -0
  725. pygpt_net/data/js/highlight/es/languages/ocaml.min.js +14 -0
  726. pygpt_net/data/js/highlight/es/languages/openscad.js +85 -0
  727. pygpt_net/data/js/highlight/es/languages/openscad.min.js +15 -0
  728. pygpt_net/data/js/highlight/es/languages/oxygene.js +95 -0
  729. pygpt_net/data/js/highlight/es/languages/oxygene.min.js +13 -0
  730. pygpt_net/data/js/highlight/es/languages/parser3.js +63 -0
  731. pygpt_net/data/js/highlight/es/languages/parser3.min.js +10 -0
  732. pygpt_net/data/js/highlight/es/languages/perl.js +512 -0
  733. pygpt_net/data/js/highlight/es/languages/perl.min.js +40 -0
  734. pygpt_net/data/js/highlight/es/languages/pf.js +68 -0
  735. pygpt_net/data/js/highlight/es/languages/pf.min.js +9 -0
  736. pygpt_net/data/js/highlight/es/languages/pgsql.js +533 -0
  737. pygpt_net/data/js/highlight/es/languages/pgsql.min.js +69 -0
  738. pygpt_net/data/js/highlight/es/languages/php-template.js +62 -0
  739. pygpt_net/data/js/highlight/es/languages/php-template.min.js +8 -0
  740. pygpt_net/data/js/highlight/es/languages/php.js +621 -0
  741. pygpt_net/data/js/highlight/es/languages/php.min.js +58 -0
  742. pygpt_net/data/js/highlight/es/languages/plaintext.js +27 -0
  743. pygpt_net/data/js/highlight/es/languages/plaintext.min.js +3 -0
  744. pygpt_net/data/js/highlight/es/languages/pony.js +98 -0
  745. pygpt_net/data/js/highlight/es/languages/pony.min.js +12 -0
  746. pygpt_net/data/js/highlight/es/languages/powershell.js +325 -0
  747. pygpt_net/data/js/highlight/es/languages/powershell.min.js +40 -0
  748. pygpt_net/data/js/highlight/es/languages/processing.js +442 -0
  749. pygpt_net/data/js/highlight/es/languages/processing.min.js +18 -0
  750. pygpt_net/data/js/highlight/es/languages/profile.js +51 -0
  751. pygpt_net/data/js/highlight/es/languages/profile.min.js +9 -0
  752. pygpt_net/data/js/highlight/es/languages/prolog.js +105 -0
  753. pygpt_net/data/js/highlight/es/languages/prolog.min.js +11 -0
  754. pygpt_net/data/js/highlight/es/languages/properties.js +76 -0
  755. pygpt_net/data/js/highlight/es/languages/properties.min.js +9 -0
  756. pygpt_net/data/js/highlight/es/languages/protobuf.js +87 -0
  757. pygpt_net/data/js/highlight/es/languages/protobuf.min.js +11 -0
  758. pygpt_net/data/js/highlight/es/languages/puppet.js +154 -0
  759. pygpt_net/data/js/highlight/es/languages/puppet.min.js +18 -0
  760. pygpt_net/data/js/highlight/es/languages/purebasic.js +108 -0
  761. pygpt_net/data/js/highlight/es/languages/purebasic.min.js +11 -0
  762. pygpt_net/data/js/highlight/es/languages/python-repl.js +40 -0
  763. pygpt_net/data/js/highlight/es/languages/python-repl.min.js +5 -0
  764. pygpt_net/data/js/highlight/es/languages/python.js +444 -0
  765. pygpt_net/data/js/highlight/es/languages/python.min.js +42 -0
  766. pygpt_net/data/js/highlight/es/languages/q.js +46 -0
  767. pygpt_net/data/js/highlight/es/languages/q.min.js +8 -0
  768. pygpt_net/data/js/highlight/es/languages/qml.js +197 -0
  769. pygpt_net/data/js/highlight/es/languages/qml.min.js +29 -0
  770. pygpt_net/data/js/highlight/es/languages/r.js +265 -0
  771. pygpt_net/data/js/highlight/es/languages/r.min.js +26 -0
  772. pygpt_net/data/js/highlight/es/languages/reasonml.js +150 -0
  773. pygpt_net/data/js/highlight/es/languages/reasonml.min.js +18 -0
  774. pygpt_net/data/js/highlight/es/languages/rib.js +45 -0
  775. pygpt_net/data/js/highlight/es/languages/rib.min.js +6 -0
  776. pygpt_net/data/js/highlight/es/languages/roboconf.js +90 -0
  777. pygpt_net/data/js/highlight/es/languages/roboconf.min.js +13 -0
  778. pygpt_net/data/js/highlight/es/languages/routeros.js +172 -0
  779. pygpt_net/data/js/highlight/es/languages/routeros.min.js +22 -0
  780. pygpt_net/data/js/highlight/es/languages/rsl.js +157 -0
  781. pygpt_net/data/js/highlight/es/languages/rsl.min.js +11 -0
  782. pygpt_net/data/js/highlight/es/languages/ruby.js +456 -0
  783. pygpt_net/data/js/highlight/es/languages/ruby.min.js +54 -0
  784. pygpt_net/data/js/highlight/es/languages/ruleslanguage.js +84 -0
  785. pygpt_net/data/js/highlight/es/languages/ruleslanguage.min.js +9 -0
  786. pygpt_net/data/js/highlight/es/languages/rust.js +324 -0
  787. pygpt_net/data/js/highlight/es/languages/rust.min.js +27 -0
  788. pygpt_net/data/js/highlight/es/languages/sas.js +565 -0
  789. pygpt_net/data/js/highlight/es/languages/sas.min.js +17 -0
  790. pygpt_net/data/js/highlight/es/languages/scala.js +222 -0
  791. pygpt_net/data/js/highlight/es/languages/scala.min.js +28 -0
  792. pygpt_net/data/js/highlight/es/languages/scheme.js +204 -0
  793. pygpt_net/data/js/highlight/es/languages/scheme.min.js +19 -0
  794. pygpt_net/data/js/highlight/es/languages/scilab.js +81 -0
  795. pygpt_net/data/js/highlight/es/languages/scilab.min.js +13 -0
  796. pygpt_net/data/js/highlight/es/languages/scss.js +852 -0
  797. pygpt_net/data/js/highlight/es/languages/scss.min.js +33 -0
  798. pygpt_net/data/js/highlight/es/languages/shell.js +41 -0
  799. pygpt_net/data/js/highlight/es/languages/shell.min.js +5 -0
  800. pygpt_net/data/js/highlight/es/languages/smali.js +134 -0
  801. pygpt_net/data/js/highlight/es/languages/smali.min.js +13 -0
  802. pygpt_net/data/js/highlight/es/languages/smalltalk.js +77 -0
  803. pygpt_net/data/js/highlight/es/languages/smalltalk.min.js +11 -0
  804. pygpt_net/data/js/highlight/es/languages/sml.js +83 -0
  805. pygpt_net/data/js/highlight/es/languages/sml.min.js +14 -0
  806. pygpt_net/data/js/highlight/es/languages/sqf.js +2670 -0
  807. pygpt_net/data/js/highlight/es/languages/sqf.min.js +17 -0
  808. pygpt_net/data/js/highlight/es/languages/sql.js +690 -0
  809. pygpt_net/data/js/highlight/es/languages/sql.min.js +17 -0
  810. pygpt_net/data/js/highlight/es/languages/stan.js +529 -0
  811. pygpt_net/data/js/highlight/es/languages/stan.min.js +28 -0
  812. pygpt_net/data/js/highlight/es/languages/stata.js +61 -0
  813. pygpt_net/data/js/highlight/es/languages/stata.min.js +11 -0
  814. pygpt_net/data/js/highlight/es/languages/step21.js +75 -0
  815. pygpt_net/data/js/highlight/es/languages/step21.min.js +10 -0
  816. pygpt_net/data/js/highlight/es/languages/stylus.js +912 -0
  817. pygpt_net/data/js/highlight/es/languages/stylus.min.js +36 -0
  818. pygpt_net/data/js/highlight/es/languages/subunit.js +52 -0
  819. pygpt_net/data/js/highlight/es/languages/subunit.min.js +10 -0
  820. pygpt_net/data/js/highlight/es/languages/swift.js +951 -0
  821. pygpt_net/data/js/highlight/es/languages/swift.min.js +66 -0
  822. pygpt_net/data/js/highlight/es/languages/taggerscript.js +67 -0
  823. pygpt_net/data/js/highlight/es/languages/taggerscript.min.js +7 -0
  824. pygpt_net/data/js/highlight/es/languages/tap.js +55 -0
  825. pygpt_net/data/js/highlight/es/languages/tap.min.js +7 -0
  826. pygpt_net/data/js/highlight/es/languages/tcl.js +199 -0
  827. pygpt_net/data/js/highlight/es/languages/tcl.min.js +15 -0
  828. pygpt_net/data/js/highlight/es/languages/thrift.js +85 -0
  829. pygpt_net/data/js/highlight/es/languages/thrift.min.js +12 -0
  830. pygpt_net/data/js/highlight/es/languages/tp.js +180 -0
  831. pygpt_net/data/js/highlight/es/languages/tp.min.js +19 -0
  832. pygpt_net/data/js/highlight/es/languages/twig.js +268 -0
  833. pygpt_net/data/js/highlight/es/languages/twig.min.js +18 -0
  834. pygpt_net/data/js/highlight/es/languages/typescript.js +909 -0
  835. pygpt_net/data/js/highlight/es/languages/typescript.min.js +98 -0
  836. pygpt_net/data/js/highlight/es/languages/vala.js +69 -0
  837. pygpt_net/data/js/highlight/es/languages/vala.min.js +9 -0
  838. pygpt_net/data/js/highlight/es/languages/vbnet.js +165 -0
  839. pygpt_net/data/js/highlight/es/languages/vbnet.min.js +25 -0
  840. pygpt_net/data/js/highlight/es/languages/vbscript-html.js +32 -0
  841. pygpt_net/data/js/highlight/es/languages/vbscript-html.min.js +4 -0
  842. pygpt_net/data/js/highlight/es/languages/vbscript.js +228 -0
  843. pygpt_net/data/js/highlight/es/languages/vbscript.min.js +10 -0
  844. pygpt_net/data/js/highlight/es/languages/verilog.js +558 -0
  845. pygpt_net/data/js/highlight/es/languages/verilog.min.js +17 -0
  846. pygpt_net/data/js/highlight/es/languages/vhdl.js +224 -0
  847. pygpt_net/data/js/highlight/es/languages/vhdl.min.js +13 -0
  848. pygpt_net/data/js/highlight/es/languages/vim.js +137 -0
  849. pygpt_net/data/js/highlight/es/languages/vim.min.js +12 -0
  850. pygpt_net/data/js/highlight/es/languages/wasm.js +147 -0
  851. pygpt_net/data/js/highlight/es/languages/wasm.min.js +15 -0
  852. pygpt_net/data/js/highlight/es/languages/wren.js +310 -0
  853. pygpt_net/data/js/highlight/es/languages/wren.min.js +30 -0
  854. pygpt_net/data/js/highlight/es/languages/x86asm.js +161 -0
  855. pygpt_net/data/js/highlight/es/languages/x86asm.min.js +18 -0
  856. pygpt_net/data/js/highlight/es/languages/xl.js +213 -0
  857. pygpt_net/data/js/highlight/es/languages/xl.min.js +15 -0
  858. pygpt_net/data/js/highlight/es/languages/xml.js +249 -0
  859. pygpt_net/data/js/highlight/es/languages/xml.min.js +29 -0
  860. pygpt_net/data/js/highlight/es/languages/xquery.js +368 -0
  861. pygpt_net/data/js/highlight/es/languages/xquery.min.js +33 -0
  862. pygpt_net/data/js/highlight/es/languages/yaml.js +203 -0
  863. pygpt_net/data/js/highlight/es/languages/yaml.min.js +25 -0
  864. pygpt_net/data/js/highlight/es/languages/zephir.js +137 -0
  865. pygpt_net/data/js/highlight/es/languages/zephir.min.js +18 -0
  866. pygpt_net/data/js/highlight/es/package.json +1 -0
  867. pygpt_net/data/js/highlight/highlight.js +60739 -0
  868. pygpt_net/data/js/highlight/highlight.min.js +3861 -0
  869. pygpt_net/data/js/highlight/languages/1c.js +554 -0
  870. pygpt_net/data/js/highlight/languages/1c.min.js +25 -0
  871. pygpt_net/data/js/highlight/languages/abnf.js +93 -0
  872. pygpt_net/data/js/highlight/languages/abnf.min.js +11 -0
  873. pygpt_net/data/js/highlight/languages/accesslog.js +102 -0
  874. pygpt_net/data/js/highlight/languages/accesslog.min.js +13 -0
  875. pygpt_net/data/js/highlight/languages/actionscript.js +163 -0
  876. pygpt_net/data/js/highlight/languages/actionscript.min.js +17 -0
  877. pygpt_net/data/js/highlight/languages/ada.js +275 -0
  878. pygpt_net/data/js/highlight/languages/ada.min.js +25 -0
  879. pygpt_net/data/js/highlight/languages/angelscript.js +188 -0
  880. pygpt_net/data/js/highlight/languages/angelscript.min.js +21 -0
  881. pygpt_net/data/js/highlight/languages/apache.js +111 -0
  882. pygpt_net/data/js/highlight/languages/apache.min.js +14 -0
  883. pygpt_net/data/js/highlight/languages/applescript.js +159 -0
  884. pygpt_net/data/js/highlight/languages/applescript.min.js +19 -0
  885. pygpt_net/data/js/highlight/languages/arcade.js +427 -0
  886. pygpt_net/data/js/highlight/languages/arcade.min.js +27 -0
  887. pygpt_net/data/js/highlight/languages/arduino.js +1016 -0
  888. pygpt_net/data/js/highlight/languages/arduino.min.js +54 -0
  889. pygpt_net/data/js/highlight/languages/armasm.js +134 -0
  890. pygpt_net/data/js/highlight/languages/armasm.min.js +17 -0
  891. pygpt_net/data/js/highlight/languages/asciidoc.js +271 -0
  892. pygpt_net/data/js/highlight/languages/asciidoc.min.js +35 -0
  893. pygpt_net/data/js/highlight/languages/aspectj.js +241 -0
  894. pygpt_net/data/js/highlight/languages/aspectj.min.js +31 -0
  895. pygpt_net/data/js/highlight/languages/autohotkey.js +85 -0
  896. pygpt_net/data/js/highlight/languages/autohotkey.min.js +14 -0
  897. pygpt_net/data/js/highlight/languages/autoit.js +188 -0
  898. pygpt_net/data/js/highlight/languages/autoit.min.js +21 -0
  899. pygpt_net/data/js/highlight/languages/avrasm.js +88 -0
  900. pygpt_net/data/js/highlight/languages/avrasm.min.js +12 -0
  901. pygpt_net/data/js/highlight/languages/awk.js +78 -0
  902. pygpt_net/data/js/highlight/languages/awk.min.js +11 -0
  903. pygpt_net/data/js/highlight/languages/axapta.js +198 -0
  904. pygpt_net/data/js/highlight/languages/axapta.min.js +11 -0
  905. pygpt_net/data/js/highlight/languages/bash.js +417 -0
  906. pygpt_net/data/js/highlight/languages/bash.min.js +21 -0
  907. pygpt_net/data/js/highlight/languages/basic.js +240 -0
  908. pygpt_net/data/js/highlight/languages/basic.min.js +10 -0
  909. pygpt_net/data/js/highlight/languages/bnf.js +49 -0
  910. pygpt_net/data/js/highlight/languages/bnf.min.js +6 -0
  911. pygpt_net/data/js/highlight/languages/brainfuck.js +64 -0
  912. pygpt_net/data/js/highlight/languages/brainfuck.min.js +8 -0
  913. pygpt_net/data/js/highlight/languages/c.js +342 -0
  914. pygpt_net/data/js/highlight/languages/c.min.js +40 -0
  915. pygpt_net/data/js/highlight/languages/cal.js +170 -0
  916. pygpt_net/data/js/highlight/languages/cal.min.js +15 -0
  917. pygpt_net/data/js/highlight/languages/capnproto.js +109 -0
  918. pygpt_net/data/js/highlight/languages/capnproto.min.js +11 -0
  919. pygpt_net/data/js/highlight/languages/ceylon.js +150 -0
  920. pygpt_net/data/js/highlight/languages/ceylon.min.js +15 -0
  921. pygpt_net/data/js/highlight/languages/clean.js +77 -0
  922. pygpt_net/data/js/highlight/languages/clean.min.js +8 -0
  923. pygpt_net/data/js/highlight/languages/clojure-repl.js +37 -0
  924. pygpt_net/data/js/highlight/languages/clojure-repl.min.js +4 -0
  925. pygpt_net/data/js/highlight/languages/clojure.js +194 -0
  926. pygpt_net/data/js/highlight/languages/clojure.min.js +25 -0
  927. pygpt_net/data/js/highlight/languages/cmake.js +74 -0
  928. pygpt_net/data/js/highlight/languages/cmake.min.js +7 -0
  929. pygpt_net/data/js/highlight/languages/coffeescript.js +376 -0
  930. pygpt_net/data/js/highlight/languages/coffeescript.min.js +29 -0
  931. pygpt_net/data/js/highlight/languages/coq.js +455 -0
  932. pygpt_net/data/js/highlight/languages/coq.min.js +7 -0
  933. pygpt_net/data/js/highlight/languages/cos.js +150 -0
  934. pygpt_net/data/js/highlight/languages/cos.min.js +15 -0
  935. pygpt_net/data/js/highlight/languages/cpp.js +613 -0
  936. pygpt_net/data/js/highlight/languages/cpp.min.js +47 -0
  937. pygpt_net/data/js/highlight/languages/crmsh.js +110 -0
  938. pygpt_net/data/js/highlight/languages/crmsh.min.js +19 -0
  939. pygpt_net/data/js/highlight/languages/crystal.js +322 -0
  940. pygpt_net/data/js/highlight/languages/crystal.min.js +48 -0
  941. pygpt_net/data/js/highlight/languages/csharp.js +416 -0
  942. pygpt_net/data/js/highlight/languages/csharp.min.js +49 -0
  943. pygpt_net/data/js/highlight/languages/csp.js +68 -0
  944. pygpt_net/data/js/highlight/languages/csp.min.js +7 -0
  945. pygpt_net/data/js/highlight/languages/css.js +864 -0
  946. pygpt_net/data/js/highlight/languages/css.min.js +31 -0
  947. pygpt_net/data/js/highlight/languages/d.js +282 -0
  948. pygpt_net/data/js/highlight/languages/d.min.js +20 -0
  949. pygpt_net/data/js/highlight/languages/dart.js +272 -0
  950. pygpt_net/data/js/highlight/languages/dart.min.js +22 -0
  951. pygpt_net/data/js/highlight/languages/delphi.js +256 -0
  952. pygpt_net/data/js/highlight/languages/delphi.min.js +19 -0
  953. pygpt_net/data/js/highlight/languages/diff.js +72 -0
  954. pygpt_net/data/js/highlight/languages/diff.min.js +9 -0
  955. pygpt_net/data/js/highlight/languages/django.js +85 -0
  956. pygpt_net/data/js/highlight/languages/django.min.js +13 -0
  957. pygpt_net/data/js/highlight/languages/dns.js +88 -0
  958. pygpt_net/data/js/highlight/languages/dns.min.js +11 -0
  959. pygpt_net/data/js/highlight/languages/dockerfile.js +54 -0
  960. pygpt_net/data/js/highlight/languages/dockerfile.min.js +8 -0
  961. pygpt_net/data/js/highlight/languages/dos.js +177 -0
  962. pygpt_net/data/js/highlight/languages/dos.min.js +12 -0
  963. pygpt_net/data/js/highlight/languages/dsconfig.js +76 -0
  964. pygpt_net/data/js/highlight/languages/dsconfig.min.js +9 -0
  965. pygpt_net/data/js/highlight/languages/dts.js +167 -0
  966. pygpt_net/data/js/highlight/languages/dts.min.js +22 -0
  967. pygpt_net/data/js/highlight/languages/dust.js +57 -0
  968. pygpt_net/data/js/highlight/languages/dust.min.js +8 -0
  969. pygpt_net/data/js/highlight/languages/ebnf.js +64 -0
  970. pygpt_net/data/js/highlight/languages/ebnf.min.js +7 -0
  971. pygpt_net/data/js/highlight/languages/elixir.js +289 -0
  972. pygpt_net/data/js/highlight/languages/elixir.min.js +34 -0
  973. pygpt_net/data/js/highlight/languages/elm.js +153 -0
  974. pygpt_net/data/js/highlight/languages/elm.min.js +18 -0
  975. pygpt_net/data/js/highlight/languages/erb.js +39 -0
  976. pygpt_net/data/js/highlight/languages/erb.min.js +5 -0
  977. pygpt_net/data/js/highlight/languages/erlang-repl.js +64 -0
  978. pygpt_net/data/js/highlight/languages/erlang-repl.min.js +13 -0
  979. pygpt_net/data/js/highlight/languages/erlang.js +209 -0
  980. pygpt_net/data/js/highlight/languages/erlang.min.js +28 -0
  981. pygpt_net/data/js/highlight/languages/excel.js +555 -0
  982. pygpt_net/data/js/highlight/languages/excel.min.js +10 -0
  983. pygpt_net/data/js/highlight/languages/fix.js +49 -0
  984. pygpt_net/data/js/highlight/languages/fix.min.js +7 -0
  985. pygpt_net/data/js/highlight/languages/flix.js +89 -0
  986. pygpt_net/data/js/highlight/languages/flix.min.js +10 -0
  987. pygpt_net/data/js/highlight/languages/fortran.js +584 -0
  988. pygpt_net/data/js/highlight/languages/fortran.min.js +17 -0
  989. pygpt_net/data/js/highlight/languages/fsharp.js +637 -0
  990. pygpt_net/data/js/highlight/languages/fsharp.min.js +47 -0
  991. pygpt_net/data/js/highlight/languages/gams.js +191 -0
  992. pygpt_net/data/js/highlight/languages/gams.min.js +28 -0
  993. pygpt_net/data/js/highlight/languages/gauss.js +316 -0
  994. pygpt_net/data/js/highlight/languages/gauss.min.js +36 -0
  995. pygpt_net/data/js/highlight/languages/gcode.js +91 -0
  996. pygpt_net/data/js/highlight/languages/gcode.min.js +16 -0
  997. pygpt_net/data/js/highlight/languages/gherkin.js +59 -0
  998. pygpt_net/data/js/highlight/languages/gherkin.min.js +8 -0
  999. pygpt_net/data/js/highlight/languages/glsl.js +138 -0
  1000. pygpt_net/data/js/highlight/languages/glsl.min.js +8 -0
  1001. pygpt_net/data/js/highlight/languages/gml.js +3140 -0
  1002. pygpt_net/data/js/highlight/languages/gml.min.js +10 -0
  1003. pygpt_net/data/js/highlight/languages/go.js +166 -0
  1004. pygpt_net/data/js/highlight/languages/go.min.js +20 -0
  1005. pygpt_net/data/js/highlight/languages/golo.js +91 -0
  1006. pygpt_net/data/js/highlight/languages/golo.min.js +6 -0
  1007. pygpt_net/data/js/highlight/languages/gradle.js +200 -0
  1008. pygpt_net/data/js/highlight/languages/gradle.min.js +5 -0
  1009. pygpt_net/data/js/highlight/languages/graphql.js +88 -0
  1010. pygpt_net/data/js/highlight/languages/graphql.min.js +12 -0
  1011. pygpt_net/data/js/highlight/languages/groovy.js +200 -0
  1012. pygpt_net/data/js/highlight/languages/groovy.min.js +21 -0
  1013. pygpt_net/data/js/highlight/languages/haml.js +123 -0
  1014. pygpt_net/data/js/highlight/languages/haml.min.js +18 -0
  1015. pygpt_net/data/js/highlight/languages/handlebars.js +268 -0
  1016. pygpt_net/data/js/highlight/languages/handlebars.min.js +29 -0
  1017. pygpt_net/data/js/highlight/languages/haskell.js +227 -0
  1018. pygpt_net/data/js/highlight/languages/haskell.min.js +32 -0
  1019. pygpt_net/data/js/highlight/languages/haxe.js +177 -0
  1020. pygpt_net/data/js/highlight/languages/haxe.min.js +29 -0
  1021. pygpt_net/data/js/highlight/languages/hsp.js +69 -0
  1022. pygpt_net/data/js/highlight/languages/hsp.min.js +14 -0
  1023. pygpt_net/data/js/highlight/languages/http.js +107 -0
  1024. pygpt_net/data/js/highlight/languages/http.min.js +14 -0
  1025. pygpt_net/data/js/highlight/languages/hy.js +147 -0
  1026. pygpt_net/data/js/highlight/languages/hy.min.js +16 -0
  1027. pygpt_net/data/js/highlight/languages/inform7.js +80 -0
  1028. pygpt_net/data/js/highlight/languages/inform7.min.js +11 -0
  1029. pygpt_net/data/js/highlight/languages/ini.js +131 -0
  1030. pygpt_net/data/js/highlight/languages/ini.min.js +15 -0
  1031. pygpt_net/data/js/highlight/languages/irpf90.js +117 -0
  1032. pygpt_net/data/js/highlight/languages/irpf90.min.js +15 -0
  1033. pygpt_net/data/js/highlight/languages/isbl.js +3215 -0
  1034. pygpt_net/data/js/highlight/languages/isbl.min.js +25 -0
  1035. pygpt_net/data/js/highlight/languages/java.js +300 -0
  1036. pygpt_net/data/js/highlight/languages/java.min.js +38 -0
  1037. pygpt_net/data/js/highlight/languages/javascript.js +777 -0
  1038. pygpt_net/data/js/highlight/languages/javascript.min.js +81 -0
  1039. pygpt_net/data/js/highlight/languages/jboss-cli.js +73 -0
  1040. pygpt_net/data/js/highlight/languages/jboss-cli.min.js +10 -0
  1041. pygpt_net/data/js/highlight/languages/json.js +64 -0
  1042. pygpt_net/data/js/highlight/languages/json.min.js +8 -0
  1043. pygpt_net/data/js/highlight/languages/julia-repl.js +61 -0
  1044. pygpt_net/data/js/highlight/languages/julia-repl.min.js +5 -0
  1045. pygpt_net/data/js/highlight/languages/julia.js +452 -0
  1046. pygpt_net/data/js/highlight/languages/julia.min.js +18 -0
  1047. pygpt_net/data/js/highlight/languages/kotlin.js +296 -0
  1048. pygpt_net/data/js/highlight/languages/kotlin.min.js +46 -0
  1049. pygpt_net/data/js/highlight/languages/lasso.js +181 -0
  1050. pygpt_net/data/js/highlight/languages/lasso.min.js +29 -0
  1051. pygpt_net/data/js/highlight/languages/latex.js +288 -0
  1052. pygpt_net/data/js/highlight/languages/latex.min.js +33 -0
  1053. pygpt_net/data/js/highlight/languages/ldif.js +41 -0
  1054. pygpt_net/data/js/highlight/languages/ldif.min.js +5 -0
  1055. pygpt_net/data/js/highlight/languages/leaf.js +107 -0
  1056. pygpt_net/data/js/highlight/languages/leaf.min.js +12 -0
  1057. pygpt_net/data/js/highlight/languages/less.js +965 -0
  1058. pygpt_net/data/js/highlight/languages/less.min.js +45 -0
  1059. pygpt_net/data/js/highlight/languages/lisp.js +149 -0
  1060. pygpt_net/data/js/highlight/languages/lisp.min.js +17 -0
  1061. pygpt_net/data/js/highlight/languages/livecodeserver.js +183 -0
  1062. pygpt_net/data/js/highlight/languages/livecodeserver.min.js +21 -0
  1063. pygpt_net/data/js/highlight/languages/livescript.js +388 -0
  1064. pygpt_net/data/js/highlight/languages/livescript.min.js +35 -0
  1065. pygpt_net/data/js/highlight/languages/llvm.js +145 -0
  1066. pygpt_net/data/js/highlight/languages/llvm.min.js +16 -0
  1067. pygpt_net/data/js/highlight/languages/lsl.js +86 -0
  1068. pygpt_net/data/js/highlight/languages/lsl.min.js +19 -0
  1069. pygpt_net/data/js/highlight/languages/lua.js +90 -0
  1070. pygpt_net/data/js/highlight/languages/lua.min.js +15 -0
  1071. pygpt_net/data/js/highlight/languages/makefile.js +96 -0
  1072. pygpt_net/data/js/highlight/languages/makefile.min.js +14 -0
  1073. pygpt_net/data/js/highlight/languages/markdown.js +258 -0
  1074. pygpt_net/data/js/highlight/languages/markdown.min.js +32 -0
  1075. pygpt_net/data/js/highlight/languages/mathematica.js +7369 -0
  1076. pygpt_net/data/js/highlight/languages/mathematica.min.js +21 -0
  1077. pygpt_net/data/js/highlight/languages/matlab.js +117 -0
  1078. pygpt_net/data/js/highlight/languages/matlab.min.js +15 -0
  1079. pygpt_net/data/js/highlight/languages/maxima.js +424 -0
  1080. pygpt_net/data/js/highlight/languages/maxima.min.js +12 -0
  1081. pygpt_net/data/js/highlight/languages/mel.js +245 -0
  1082. pygpt_net/data/js/highlight/languages/mel.min.js +8 -0
  1083. pygpt_net/data/js/highlight/languages/mercury.js +118 -0
  1084. pygpt_net/data/js/highlight/languages/mercury.min.js +16 -0
  1085. pygpt_net/data/js/highlight/languages/mipsasm.js +114 -0
  1086. pygpt_net/data/js/highlight/languages/mipsasm.min.js +15 -0
  1087. pygpt_net/data/js/highlight/languages/mizar.js +37 -0
  1088. pygpt_net/data/js/highlight/languages/mizar.min.js +4 -0
  1089. pygpt_net/data/js/highlight/languages/mojolicious.js +46 -0
  1090. pygpt_net/data/js/highlight/languages/mojolicious.min.js +6 -0
  1091. pygpt_net/data/js/highlight/languages/monkey.js +194 -0
  1092. pygpt_net/data/js/highlight/languages/monkey.min.js +17 -0
  1093. pygpt_net/data/js/highlight/languages/moonscript.js +151 -0
  1094. pygpt_net/data/js/highlight/languages/moonscript.min.js +23 -0
  1095. pygpt_net/data/js/highlight/languages/n1ql.js +375 -0
  1096. pygpt_net/data/js/highlight/languages/n1ql.min.js +13 -0
  1097. pygpt_net/data/js/highlight/languages/nestedtext.js +93 -0
  1098. pygpt_net/data/js/highlight/languages/nestedtext.min.js +9 -0
  1099. pygpt_net/data/js/highlight/languages/nginx.js +163 -0
  1100. pygpt_net/data/js/highlight/languages/nginx.min.js +21 -0
  1101. pygpt_net/data/js/highlight/languages/nim.js +195 -0
  1102. pygpt_net/data/js/highlight/languages/nim.min.js +15 -0
  1103. pygpt_net/data/js/highlight/languages/nix.js +105 -0
  1104. pygpt_net/data/js/highlight/languages/nix.min.js +13 -0
  1105. pygpt_net/data/js/highlight/languages/node-repl.js +43 -0
  1106. pygpt_net/data/js/highlight/languages/node-repl.min.js +5 -0
  1107. pygpt_net/data/js/highlight/languages/nsis.js +567 -0
  1108. pygpt_net/data/js/highlight/languages/nsis.min.js +23 -0
  1109. pygpt_net/data/js/highlight/languages/objectivec.js +263 -0
  1110. pygpt_net/data/js/highlight/languages/objectivec.min.js +23 -0
  1111. pygpt_net/data/js/highlight/languages/ocaml.js +93 -0
  1112. pygpt_net/data/js/highlight/languages/ocaml.min.js +14 -0
  1113. pygpt_net/data/js/highlight/languages/openscad.js +87 -0
  1114. pygpt_net/data/js/highlight/languages/openscad.min.js +15 -0
  1115. pygpt_net/data/js/highlight/languages/oxygene.js +97 -0
  1116. pygpt_net/data/js/highlight/languages/oxygene.min.js +13 -0
  1117. pygpt_net/data/js/highlight/languages/parser3.js +65 -0
  1118. pygpt_net/data/js/highlight/languages/parser3.min.js +10 -0
  1119. pygpt_net/data/js/highlight/languages/perl.js +514 -0
  1120. pygpt_net/data/js/highlight/languages/perl.min.js +41 -0
  1121. pygpt_net/data/js/highlight/languages/pf.js +70 -0
  1122. pygpt_net/data/js/highlight/languages/pf.min.js +10 -0
  1123. pygpt_net/data/js/highlight/languages/pgsql.js +535 -0
  1124. pygpt_net/data/js/highlight/languages/pgsql.min.js +69 -0
  1125. pygpt_net/data/js/highlight/languages/php-template.js +64 -0
  1126. pygpt_net/data/js/highlight/languages/php-template.min.js +8 -0
  1127. pygpt_net/data/js/highlight/languages/php.js +623 -0
  1128. pygpt_net/data/js/highlight/languages/php.min.js +58 -0
  1129. pygpt_net/data/js/highlight/languages/plaintext.js +29 -0
  1130. pygpt_net/data/js/highlight/languages/plaintext.min.js +4 -0
  1131. pygpt_net/data/js/highlight/languages/pony.js +100 -0
  1132. pygpt_net/data/js/highlight/languages/pony.min.js +12 -0
  1133. pygpt_net/data/js/highlight/languages/powershell.js +327 -0
  1134. pygpt_net/data/js/highlight/languages/powershell.min.js +39 -0
  1135. pygpt_net/data/js/highlight/languages/processing.js +444 -0
  1136. pygpt_net/data/js/highlight/languages/processing.min.js +18 -0
  1137. pygpt_net/data/js/highlight/languages/profile.js +53 -0
  1138. pygpt_net/data/js/highlight/languages/profile.min.js +9 -0
  1139. pygpt_net/data/js/highlight/languages/prolog.js +107 -0
  1140. pygpt_net/data/js/highlight/languages/prolog.min.js +11 -0
  1141. pygpt_net/data/js/highlight/languages/properties.js +78 -0
  1142. pygpt_net/data/js/highlight/languages/properties.min.js +10 -0
  1143. pygpt_net/data/js/highlight/languages/protobuf.js +89 -0
  1144. pygpt_net/data/js/highlight/languages/protobuf.min.js +11 -0
  1145. pygpt_net/data/js/highlight/languages/puppet.js +156 -0
  1146. pygpt_net/data/js/highlight/languages/puppet.min.js +18 -0
  1147. pygpt_net/data/js/highlight/languages/purebasic.js +110 -0
  1148. pygpt_net/data/js/highlight/languages/purebasic.min.js +11 -0
  1149. pygpt_net/data/js/highlight/languages/python-repl.js +42 -0
  1150. pygpt_net/data/js/highlight/languages/python-repl.min.js +5 -0
  1151. pygpt_net/data/js/highlight/languages/python.js +446 -0
  1152. pygpt_net/data/js/highlight/languages/python.min.js +42 -0
  1153. pygpt_net/data/js/highlight/languages/q.js +48 -0
  1154. pygpt_net/data/js/highlight/languages/q.min.js +8 -0
  1155. pygpt_net/data/js/highlight/languages/qml.js +199 -0
  1156. pygpt_net/data/js/highlight/languages/qml.min.js +29 -0
  1157. pygpt_net/data/js/highlight/languages/r.js +267 -0
  1158. pygpt_net/data/js/highlight/languages/r.min.js +26 -0
  1159. pygpt_net/data/js/highlight/languages/reasonml.js +152 -0
  1160. pygpt_net/data/js/highlight/languages/reasonml.min.js +18 -0
  1161. pygpt_net/data/js/highlight/languages/rib.js +47 -0
  1162. pygpt_net/data/js/highlight/languages/rib.min.js +6 -0
  1163. pygpt_net/data/js/highlight/languages/roboconf.js +92 -0
  1164. pygpt_net/data/js/highlight/languages/roboconf.min.js +12 -0
  1165. pygpt_net/data/js/highlight/languages/routeros.js +174 -0
  1166. pygpt_net/data/js/highlight/languages/routeros.min.js +22 -0
  1167. pygpt_net/data/js/highlight/languages/rsl.js +159 -0
  1168. pygpt_net/data/js/highlight/languages/rsl.min.js +11 -0
  1169. pygpt_net/data/js/highlight/languages/ruby.js +458 -0
  1170. pygpt_net/data/js/highlight/languages/ruby.min.js +54 -0
  1171. pygpt_net/data/js/highlight/languages/ruleslanguage.js +86 -0
  1172. pygpt_net/data/js/highlight/languages/ruleslanguage.min.js +9 -0
  1173. pygpt_net/data/js/highlight/languages/rust.js +326 -0
  1174. pygpt_net/data/js/highlight/languages/rust.min.js +27 -0
  1175. pygpt_net/data/js/highlight/languages/sas.js +567 -0
  1176. pygpt_net/data/js/highlight/languages/sas.min.js +18 -0
  1177. pygpt_net/data/js/highlight/languages/scala.js +224 -0
  1178. pygpt_net/data/js/highlight/languages/scala.min.js +28 -0
  1179. pygpt_net/data/js/highlight/languages/scheme.js +206 -0
  1180. pygpt_net/data/js/highlight/languages/scheme.min.js +20 -0
  1181. pygpt_net/data/js/highlight/languages/scilab.js +83 -0
  1182. pygpt_net/data/js/highlight/languages/scilab.min.js +13 -0
  1183. pygpt_net/data/js/highlight/languages/scss.js +854 -0
  1184. pygpt_net/data/js/highlight/languages/scss.min.js +33 -0
  1185. pygpt_net/data/js/highlight/languages/shell.js +43 -0
  1186. pygpt_net/data/js/highlight/languages/shell.min.js +5 -0
  1187. pygpt_net/data/js/highlight/languages/smali.js +136 -0
  1188. pygpt_net/data/js/highlight/languages/smali.min.js +13 -0
  1189. pygpt_net/data/js/highlight/languages/smalltalk.js +79 -0
  1190. pygpt_net/data/js/highlight/languages/smalltalk.min.js +11 -0
  1191. pygpt_net/data/js/highlight/languages/sml.js +85 -0
  1192. pygpt_net/data/js/highlight/languages/sml.min.js +14 -0
  1193. pygpt_net/data/js/highlight/languages/sqf.js +2672 -0
  1194. pygpt_net/data/js/highlight/languages/sqf.min.js +17 -0
  1195. pygpt_net/data/js/highlight/languages/sql.js +692 -0
  1196. pygpt_net/data/js/highlight/languages/sql.min.js +17 -0
  1197. pygpt_net/data/js/highlight/languages/stan.js +531 -0
  1198. pygpt_net/data/js/highlight/languages/stan.min.js +28 -0
  1199. pygpt_net/data/js/highlight/languages/stata.js +63 -0
  1200. pygpt_net/data/js/highlight/languages/stata.min.js +11 -0
  1201. pygpt_net/data/js/highlight/languages/step21.js +77 -0
  1202. pygpt_net/data/js/highlight/languages/step21.min.js +10 -0
  1203. pygpt_net/data/js/highlight/languages/stylus.js +914 -0
  1204. pygpt_net/data/js/highlight/languages/stylus.min.js +36 -0
  1205. pygpt_net/data/js/highlight/languages/subunit.js +54 -0
  1206. pygpt_net/data/js/highlight/languages/subunit.min.js +9 -0
  1207. pygpt_net/data/js/highlight/languages/swift.js +953 -0
  1208. pygpt_net/data/js/highlight/languages/swift.min.js +66 -0
  1209. pygpt_net/data/js/highlight/languages/taggerscript.js +69 -0
  1210. pygpt_net/data/js/highlight/languages/taggerscript.min.js +8 -0
  1211. pygpt_net/data/js/highlight/languages/tap.js +57 -0
  1212. pygpt_net/data/js/highlight/languages/tap.min.js +7 -0
  1213. pygpt_net/data/js/highlight/languages/tcl.js +201 -0
  1214. pygpt_net/data/js/highlight/languages/tcl.min.js +15 -0
  1215. pygpt_net/data/js/highlight/languages/thrift.js +87 -0
  1216. pygpt_net/data/js/highlight/languages/thrift.min.js +12 -0
  1217. pygpt_net/data/js/highlight/languages/tp.js +182 -0
  1218. pygpt_net/data/js/highlight/languages/tp.min.js +19 -0
  1219. pygpt_net/data/js/highlight/languages/twig.js +270 -0
  1220. pygpt_net/data/js/highlight/languages/twig.min.js +18 -0
  1221. pygpt_net/data/js/highlight/languages/typescript.js +911 -0
  1222. pygpt_net/data/js/highlight/languages/typescript.min.js +98 -0
  1223. pygpt_net/data/js/highlight/languages/vala.js +71 -0
  1224. pygpt_net/data/js/highlight/languages/vala.min.js +9 -0
  1225. pygpt_net/data/js/highlight/languages/vbnet.js +167 -0
  1226. pygpt_net/data/js/highlight/languages/vbnet.min.js +25 -0
  1227. pygpt_net/data/js/highlight/languages/vbscript-html.js +34 -0
  1228. pygpt_net/data/js/highlight/languages/vbscript-html.min.js +4 -0
  1229. pygpt_net/data/js/highlight/languages/vbscript.js +230 -0
  1230. pygpt_net/data/js/highlight/languages/vbscript.min.js +10 -0
  1231. pygpt_net/data/js/highlight/languages/verilog.js +560 -0
  1232. pygpt_net/data/js/highlight/languages/verilog.min.js +17 -0
  1233. pygpt_net/data/js/highlight/languages/vhdl.js +226 -0
  1234. pygpt_net/data/js/highlight/languages/vhdl.min.js +13 -0
  1235. pygpt_net/data/js/highlight/languages/vim.js +139 -0
  1236. pygpt_net/data/js/highlight/languages/vim.min.js +12 -0
  1237. pygpt_net/data/js/highlight/languages/wasm.js +149 -0
  1238. pygpt_net/data/js/highlight/languages/wasm.min.js +14 -0
  1239. pygpt_net/data/js/highlight/languages/wren.js +312 -0
  1240. pygpt_net/data/js/highlight/languages/wren.min.js +30 -0
  1241. pygpt_net/data/js/highlight/languages/x86asm.js +163 -0
  1242. pygpt_net/data/js/highlight/languages/x86asm.min.js +19 -0
  1243. pygpt_net/data/js/highlight/languages/xl.js +215 -0
  1244. pygpt_net/data/js/highlight/languages/xl.min.js +15 -0
  1245. pygpt_net/data/js/highlight/languages/xml.js +251 -0
  1246. pygpt_net/data/js/highlight/languages/xml.min.js +29 -0
  1247. pygpt_net/data/js/highlight/languages/xquery.js +370 -0
  1248. pygpt_net/data/js/highlight/languages/xquery.min.js +33 -0
  1249. pygpt_net/data/js/highlight/languages/yaml.js +205 -0
  1250. pygpt_net/data/js/highlight/languages/yaml.min.js +25 -0
  1251. pygpt_net/data/js/highlight/languages/zephir.js +139 -0
  1252. pygpt_net/data/js/highlight/languages/zephir.min.js +18 -0
  1253. pygpt_net/data/js/highlight/package.json +93 -0
  1254. pygpt_net/data/js/highlight/styles/1c-light.css +107 -0
  1255. pygpt_net/data/js/highlight/styles/1c-light.min.css +9 -0
  1256. pygpt_net/data/js/highlight/styles/a11y-dark.css +94 -0
  1257. pygpt_net/data/js/highlight/styles/a11y-dark.min.css +7 -0
  1258. pygpt_net/data/js/highlight/styles/a11y-light.css +94 -0
  1259. pygpt_net/data/js/highlight/styles/a11y-light.min.css +7 -0
  1260. pygpt_net/data/js/highlight/styles/agate.css +127 -0
  1261. pygpt_net/data/js/highlight/styles/agate.min.css +20 -0
  1262. pygpt_net/data/js/highlight/styles/an-old-hope.css +75 -0
  1263. pygpt_net/data/js/highlight/styles/an-old-hope.min.css +9 -0
  1264. pygpt_net/data/js/highlight/styles/androidstudio.css +60 -0
  1265. pygpt_net/data/js/highlight/styles/androidstudio.min.css +1 -0
  1266. pygpt_net/data/js/highlight/styles/arduino-light.css +78 -0
  1267. pygpt_net/data/js/highlight/styles/arduino-light.min.css +1 -0
  1268. pygpt_net/data/js/highlight/styles/arta.css +66 -0
  1269. pygpt_net/data/js/highlight/styles/arta.min.css +1 -0
  1270. pygpt_net/data/js/highlight/styles/ascetic.css +45 -0
  1271. pygpt_net/data/js/highlight/styles/ascetic.min.css +1 -0
  1272. pygpt_net/data/js/highlight/styles/atom-one-dark-reasonable.css +105 -0
  1273. pygpt_net/data/js/highlight/styles/atom-one-dark-reasonable.min.css +1 -0
  1274. pygpt_net/data/js/highlight/styles/atom-one-dark.css +90 -0
  1275. pygpt_net/data/js/highlight/styles/atom-one-dark.min.css +1 -0
  1276. pygpt_net/data/js/highlight/styles/atom-one-light.css +90 -0
  1277. pygpt_net/data/js/highlight/styles/atom-one-light.min.css +1 -0
  1278. pygpt_net/data/js/highlight/styles/brown-paper.css +63 -0
  1279. pygpt_net/data/js/highlight/styles/brown-paper.min.css +1 -0
  1280. pygpt_net/data/js/highlight/styles/brown-papersq.png +0 -0
  1281. pygpt_net/data/js/highlight/styles/codepen-embed.css +57 -0
  1282. pygpt_net/data/js/highlight/styles/codepen-embed.min.css +1 -0
  1283. pygpt_net/data/js/highlight/styles/codeschool.css +163 -0
  1284. pygpt_net/data/js/highlight/styles/codeschool.min.css +7 -0
  1285. pygpt_net/data/js/highlight/styles/color-brewer.css +66 -0
  1286. pygpt_net/data/js/highlight/styles/color-brewer.min.css +1 -0
  1287. pygpt_net/data/js/highlight/styles/darcula.css +163 -0
  1288. pygpt_net/data/js/highlight/styles/darcula.min.css +7 -0
  1289. pygpt_net/data/js/highlight/styles/dark.css +62 -0
  1290. pygpt_net/data/js/highlight/styles/dark.min.css +1 -0
  1291. pygpt_net/data/js/highlight/styles/default-dark.css +163 -0
  1292. pygpt_net/data/js/highlight/styles/default-dark.min.css +7 -0
  1293. pygpt_net/data/js/highlight/styles/default-light.css +163 -0
  1294. pygpt_net/data/js/highlight/styles/default-light.min.css +7 -0
  1295. pygpt_net/data/js/highlight/styles/default.css +117 -0
  1296. pygpt_net/data/js/highlight/styles/default.min.css +9 -0
  1297. pygpt_net/data/js/highlight/styles/devibeans.css +90 -0
  1298. pygpt_net/data/js/highlight/styles/devibeans.min.css +7 -0
  1299. pygpt_net/data/js/highlight/styles/docco.css +83 -0
  1300. pygpt_net/data/js/highlight/styles/docco.min.css +1 -0
  1301. pygpt_net/data/js/highlight/styles/far.css +67 -0
  1302. pygpt_net/data/js/highlight/styles/far.min.css +1 -0
  1303. pygpt_net/data/js/highlight/styles/felipec.css +94 -0
  1304. pygpt_net/data/js/highlight/styles/felipec.min.css +7 -0
  1305. pygpt_net/data/js/highlight/styles/foundation.css +80 -0
  1306. pygpt_net/data/js/highlight/styles/foundation.min.css +1 -0
  1307. pygpt_net/data/js/highlight/styles/github-dark-dimmed.css +117 -0
  1308. pygpt_net/data/js/highlight/styles/github-dark-dimmed.min.css +9 -0
  1309. pygpt_net/data/js/highlight/styles/github-dark.css +118 -0
  1310. pygpt_net/data/js/highlight/styles/github-dark.min.css +10 -0
  1311. pygpt_net/data/js/highlight/styles/github.css +118 -0
  1312. pygpt_net/data/js/highlight/styles/github.min.css +10 -0
  1313. pygpt_net/data/js/highlight/styles/gml.css +72 -0
  1314. pygpt_net/data/js/highlight/styles/gml.min.css +1 -0
  1315. pygpt_net/data/js/highlight/styles/googlecode.css +79 -0
  1316. pygpt_net/data/js/highlight/styles/googlecode.min.css +1 -0
  1317. pygpt_net/data/js/highlight/styles/gradient-dark.css +90 -0
  1318. pygpt_net/data/js/highlight/styles/gradient-dark.min.css +1 -0
  1319. pygpt_net/data/js/highlight/styles/gradient-light.css +90 -0
  1320. pygpt_net/data/js/highlight/styles/gradient-light.min.css +1 -0
  1321. pygpt_net/data/js/highlight/styles/grayscale.css +89 -0
  1322. pygpt_net/data/js/highlight/styles/grayscale.min.css +1 -0
  1323. pygpt_net/data/js/highlight/styles/hybrid.css +88 -0
  1324. pygpt_net/data/js/highlight/styles/hybrid.min.css +1 -0
  1325. pygpt_net/data/js/highlight/styles/idea.css +86 -0
  1326. pygpt_net/data/js/highlight/styles/idea.min.css +1 -0
  1327. pygpt_net/data/js/highlight/styles/intellij-light.css +107 -0
  1328. pygpt_net/data/js/highlight/styles/intellij-light.min.css +1 -0
  1329. pygpt_net/data/js/highlight/styles/ir-black.css +66 -0
  1330. pygpt_net/data/js/highlight/styles/ir-black.min.css +1 -0
  1331. pygpt_net/data/js/highlight/styles/isbl-editor-dark.css +94 -0
  1332. pygpt_net/data/js/highlight/styles/isbl-editor-dark.min.css +1 -0
  1333. pygpt_net/data/js/highlight/styles/isbl-editor-light.css +93 -0
  1334. pygpt_net/data/js/highlight/styles/isbl-editor-light.min.css +1 -0
  1335. pygpt_net/data/js/highlight/styles/kimbie-dark.css +69 -0
  1336. pygpt_net/data/js/highlight/styles/kimbie-dark.min.css +1 -0
  1337. pygpt_net/data/js/highlight/styles/kimbie-light.css +69 -0
  1338. pygpt_net/data/js/highlight/styles/kimbie-light.min.css +1 -0
  1339. pygpt_net/data/js/highlight/styles/lightfair.css +81 -0
  1340. pygpt_net/data/js/highlight/styles/lightfair.min.css +1 -0
  1341. pygpt_net/data/js/highlight/styles/lioshi.css +76 -0
  1342. pygpt_net/data/js/highlight/styles/lioshi.min.css +1 -0
  1343. pygpt_net/data/js/highlight/styles/magula.css +66 -0
  1344. pygpt_net/data/js/highlight/styles/magula.min.css +1 -0
  1345. pygpt_net/data/js/highlight/styles/material-darker.css +163 -0
  1346. pygpt_net/data/js/highlight/styles/material-darker.min.css +7 -0
  1347. pygpt_net/data/js/highlight/styles/material-lighter.css +163 -0
  1348. pygpt_net/data/js/highlight/styles/material-lighter.min.css +7 -0
  1349. pygpt_net/data/js/highlight/styles/material-palenight.css +163 -0
  1350. pygpt_net/data/js/highlight/styles/material-palenight.min.css +7 -0
  1351. pygpt_net/data/js/highlight/styles/material-vivid.css +163 -0
  1352. pygpt_net/data/js/highlight/styles/material-vivid.min.css +7 -0
  1353. pygpt_net/data/js/highlight/styles/material.css +163 -0
  1354. pygpt_net/data/js/highlight/styles/material.min.css +7 -0
  1355. pygpt_net/data/js/highlight/styles/mono-blue.css +56 -0
  1356. pygpt_net/data/js/highlight/styles/mono-blue.min.css +1 -0
  1357. pygpt_net/data/js/highlight/styles/monokai-sublime.css +76 -0
  1358. pygpt_net/data/js/highlight/styles/monokai-sublime.min.css +1 -0
  1359. pygpt_net/data/js/highlight/styles/monokai.css +70 -0
  1360. pygpt_net/data/js/highlight/styles/monokai.min.css +1 -0
  1361. pygpt_net/data/js/highlight/styles/night-owl.css +174 -0
  1362. pygpt_net/data/js/highlight/styles/night-owl.min.css +1 -0
  1363. pygpt_net/data/js/highlight/styles/nnfx-dark.css +104 -0
  1364. pygpt_net/data/js/highlight/styles/nnfx-dark.min.css +10 -0
  1365. pygpt_net/data/js/highlight/styles/nnfx-light.css +104 -0
  1366. pygpt_net/data/js/highlight/styles/nnfx-light.min.css +10 -0
  1367. pygpt_net/data/js/highlight/styles/nord.css +275 -0
  1368. pygpt_net/data/js/highlight/styles/nord.min.css +1 -0
  1369. pygpt_net/data/js/highlight/styles/obsidian.css +79 -0
  1370. pygpt_net/data/js/highlight/styles/obsidian.min.css +1 -0
  1371. pygpt_net/data/js/highlight/styles/panda-syntax-dark.css +92 -0
  1372. pygpt_net/data/js/highlight/styles/panda-syntax-dark.min.css +1 -0
  1373. pygpt_net/data/js/highlight/styles/panda-syntax-light.css +89 -0
  1374. pygpt_net/data/js/highlight/styles/panda-syntax-light.min.css +1 -0
  1375. pygpt_net/data/js/highlight/styles/paraiso-dark.css +67 -0
  1376. pygpt_net/data/js/highlight/styles/paraiso-dark.min.css +1 -0
  1377. pygpt_net/data/js/highlight/styles/paraiso-light.css +67 -0
  1378. pygpt_net/data/js/highlight/styles/paraiso-light.min.css +1 -0
  1379. pygpt_net/data/js/highlight/styles/pojoaque.css +76 -0
  1380. pygpt_net/data/js/highlight/styles/pojoaque.jpg +0 -0
  1381. pygpt_net/data/js/highlight/styles/pojoaque.min.css +1 -0
  1382. pygpt_net/data/js/highlight/styles/purebasic.css +103 -0
  1383. pygpt_net/data/js/highlight/styles/purebasic.min.css +1 -0
  1384. pygpt_net/data/js/highlight/styles/qtcreator-dark.css +76 -0
  1385. pygpt_net/data/js/highlight/styles/qtcreator-dark.min.css +1 -0
  1386. pygpt_net/data/js/highlight/styles/qtcreator-light.css +74 -0
  1387. pygpt_net/data/js/highlight/styles/qtcreator-light.min.css +1 -0
  1388. pygpt_net/data/js/highlight/styles/rainbow.css +77 -0
  1389. pygpt_net/data/js/highlight/styles/rainbow.min.css +1 -0
  1390. pygpt_net/data/js/highlight/styles/routeros.css +86 -0
  1391. pygpt_net/data/js/highlight/styles/routeros.min.css +1 -0
  1392. pygpt_net/data/js/highlight/styles/school-book.css +62 -0
  1393. pygpt_net/data/js/highlight/styles/school-book.min.css +1 -0
  1394. pygpt_net/data/js/highlight/styles/shades-of-purple.css +84 -0
  1395. pygpt_net/data/js/highlight/styles/shades-of-purple.min.css +1 -0
  1396. pygpt_net/data/js/highlight/styles/srcery.css +89 -0
  1397. pygpt_net/data/js/highlight/styles/srcery.min.css +1 -0
  1398. pygpt_net/data/js/highlight/styles/stackoverflow-dark.css +117 -0
  1399. pygpt_net/data/js/highlight/styles/stackoverflow-dark.min.css +13 -0
  1400. pygpt_net/data/js/highlight/styles/stackoverflow-light.css +117 -0
  1401. pygpt_net/data/js/highlight/styles/stackoverflow-light.min.css +13 -0
  1402. pygpt_net/data/js/highlight/styles/sunburst.css +89 -0
  1403. pygpt_net/data/js/highlight/styles/sunburst.min.css +1 -0
  1404. pygpt_net/data/js/highlight/styles/tokyo-night-dark.css +114 -0
  1405. pygpt_net/data/js/highlight/styles/tokyo-night-dark.min.css +8 -0
  1406. pygpt_net/data/js/highlight/styles/tokyo-night-light.css +114 -0
  1407. pygpt_net/data/js/highlight/styles/tokyo-night-light.min.css +8 -0
  1408. pygpt_net/data/js/highlight/styles/tomorrow-night-blue.css +69 -0
  1409. pygpt_net/data/js/highlight/styles/tomorrow-night-blue.min.css +1 -0
  1410. pygpt_net/data/js/highlight/styles/tomorrow-night-bright.css +68 -0
  1411. pygpt_net/data/js/highlight/styles/tomorrow-night-bright.min.css +1 -0
  1412. pygpt_net/data/js/highlight/styles/vs.css +63 -0
  1413. pygpt_net/data/js/highlight/styles/vs.min.css +1 -0
  1414. pygpt_net/data/js/highlight/styles/vs2015.css +100 -0
  1415. pygpt_net/data/js/highlight/styles/vs2015.min.css +1 -0
  1416. pygpt_net/data/js/highlight/styles/windows-10-light.css +163 -0
  1417. pygpt_net/data/js/highlight/styles/windows-10-light.min.css +7 -0
  1418. pygpt_net/data/js/highlight/styles/windows-10.css +163 -0
  1419. pygpt_net/data/js/highlight/styles/windows-10.min.css +7 -0
  1420. pygpt_net/data/js/highlight/styles/xcode.css +90 -0
  1421. pygpt_net/data/js/highlight/styles/xcode.min.css +1 -0
  1422. pygpt_net/data/js/highlight/styles/xt256.css +79 -0
  1423. pygpt_net/data/js/highlight/styles/xt256.min.css +1 -0
  1424. pygpt_net/data/js/katex/auto-render.min.js +1 -0
  1425. pygpt_net/data/js/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
  1426. pygpt_net/data/js/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
  1427. pygpt_net/data/js/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  1428. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  1429. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  1430. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  1431. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  1432. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  1433. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  1434. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  1435. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  1436. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  1437. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  1438. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  1439. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  1440. pygpt_net/data/js/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
  1441. pygpt_net/data/js/katex/fonts/KaTeX_Main-Bold.woff +0 -0
  1442. pygpt_net/data/js/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  1443. pygpt_net/data/js/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  1444. pygpt_net/data/js/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  1445. pygpt_net/data/js/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  1446. pygpt_net/data/js/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
  1447. pygpt_net/data/js/katex/fonts/KaTeX_Main-Italic.woff +0 -0
  1448. pygpt_net/data/js/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  1449. pygpt_net/data/js/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
  1450. pygpt_net/data/js/katex/fonts/KaTeX_Main-Regular.woff +0 -0
  1451. pygpt_net/data/js/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  1452. pygpt_net/data/js/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  1453. pygpt_net/data/js/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  1454. pygpt_net/data/js/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  1455. pygpt_net/data/js/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
  1456. pygpt_net/data/js/katex/fonts/KaTeX_Math-Italic.woff +0 -0
  1457. pygpt_net/data/js/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  1458. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  1459. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  1460. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  1461. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  1462. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  1463. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  1464. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  1465. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  1466. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  1467. pygpt_net/data/js/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
  1468. pygpt_net/data/js/katex/fonts/KaTeX_Script-Regular.woff +0 -0
  1469. pygpt_net/data/js/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  1470. pygpt_net/data/js/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
  1471. pygpt_net/data/js/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
  1472. pygpt_net/data/js/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  1473. pygpt_net/data/js/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
  1474. pygpt_net/data/js/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
  1475. pygpt_net/data/js/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  1476. pygpt_net/data/js/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
  1477. pygpt_net/data/js/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
  1478. pygpt_net/data/js/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  1479. pygpt_net/data/js/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
  1480. pygpt_net/data/js/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
  1481. pygpt_net/data/js/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  1482. pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  1483. pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  1484. pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  1485. pygpt_net/data/js/katex/katex.min.css +1 -0
  1486. pygpt_net/data/js/katex/katex.min.js +1 -0
  1487. pygpt_net/data/locale/locale.de.ini +1045 -0
  1488. pygpt_net/data/locale/locale.en.ini +1295 -0
  1489. pygpt_net/data/locale/locale.es.ini +1045 -0
  1490. pygpt_net/data/locale/locale.fr.ini +1045 -0
  1491. pygpt_net/data/locale/locale.it.ini +1045 -0
  1492. pygpt_net/data/locale/locale.pl.ini +1046 -0
  1493. pygpt_net/data/locale/locale.uk.ini +1045 -0
  1494. pygpt_net/data/locale/locale.zh.ini +1161 -0
  1495. pygpt_net/data/locale/plugin.agent.de.ini +17 -0
  1496. pygpt_net/data/locale/plugin.agent.en.ini +17 -0
  1497. pygpt_net/data/locale/plugin.agent.es.ini +17 -0
  1498. pygpt_net/data/locale/plugin.agent.fr.ini +17 -0
  1499. pygpt_net/data/locale/plugin.agent.it.ini +17 -0
  1500. pygpt_net/data/locale/plugin.agent.pl.ini +17 -0
  1501. pygpt_net/data/locale/plugin.agent.uk.ini +17 -0
  1502. pygpt_net/data/locale/plugin.agent.zh.ini +17 -0
  1503. pygpt_net/data/locale/plugin.audio_input.de.ini +63 -0
  1504. pygpt_net/data/locale/plugin.audio_input.en.ini +63 -0
  1505. pygpt_net/data/locale/plugin.audio_input.es.ini +63 -0
  1506. pygpt_net/data/locale/plugin.audio_input.fr.ini +63 -0
  1507. pygpt_net/data/locale/plugin.audio_input.it.ini +63 -0
  1508. pygpt_net/data/locale/plugin.audio_input.pl.ini +63 -0
  1509. pygpt_net/data/locale/plugin.audio_input.uk.ini +63 -0
  1510. pygpt_net/data/locale/plugin.audio_input.zh.ini +63 -0
  1511. pygpt_net/data/locale/plugin.audio_output.de.ini +30 -0
  1512. pygpt_net/data/locale/plugin.audio_output.en.ini +30 -0
  1513. pygpt_net/data/locale/plugin.audio_output.es.ini +30 -0
  1514. pygpt_net/data/locale/plugin.audio_output.fr.ini +30 -0
  1515. pygpt_net/data/locale/plugin.audio_output.it.ini +30 -0
  1516. pygpt_net/data/locale/plugin.audio_output.pl.ini +30 -0
  1517. pygpt_net/data/locale/plugin.audio_output.uk.ini +30 -0
  1518. pygpt_net/data/locale/plugin.audio_output.zh.ini +30 -0
  1519. pygpt_net/data/locale/plugin.cmd_api.de.ini +12 -0
  1520. pygpt_net/data/locale/plugin.cmd_api.en.ini +12 -0
  1521. pygpt_net/data/locale/plugin.cmd_api.es.ini +12 -0
  1522. pygpt_net/data/locale/plugin.cmd_api.fr.ini +12 -0
  1523. pygpt_net/data/locale/plugin.cmd_api.it.ini +12 -0
  1524. pygpt_net/data/locale/plugin.cmd_api.pl.ini +12 -0
  1525. pygpt_net/data/locale/plugin.cmd_api.uk.ini +12 -0
  1526. pygpt_net/data/locale/plugin.cmd_api.zh.ini +12 -0
  1527. pygpt_net/data/locale/plugin.cmd_code_interpreter.de.ini +33 -0
  1528. pygpt_net/data/locale/plugin.cmd_code_interpreter.en.ini +65 -0
  1529. pygpt_net/data/locale/plugin.cmd_code_interpreter.es.ini +33 -0
  1530. pygpt_net/data/locale/plugin.cmd_code_interpreter.fr.ini +33 -0
  1531. pygpt_net/data/locale/plugin.cmd_code_interpreter.it.ini +33 -0
  1532. pygpt_net/data/locale/plugin.cmd_code_interpreter.pl.ini +33 -0
  1533. pygpt_net/data/locale/plugin.cmd_code_interpreter.uk.ini +33 -0
  1534. pygpt_net/data/locale/plugin.cmd_code_interpreter.zh.ini +33 -0
  1535. pygpt_net/data/locale/plugin.cmd_custom.de.ini +6 -0
  1536. pygpt_net/data/locale/plugin.cmd_custom.en.ini +6 -0
  1537. pygpt_net/data/locale/plugin.cmd_custom.es.ini +6 -0
  1538. pygpt_net/data/locale/plugin.cmd_custom.fr.ini +6 -0
  1539. pygpt_net/data/locale/plugin.cmd_custom.it.ini +6 -0
  1540. pygpt_net/data/locale/plugin.cmd_custom.pl.ini +6 -0
  1541. pygpt_net/data/locale/plugin.cmd_custom.uk.ini +6 -0
  1542. pygpt_net/data/locale/plugin.cmd_custom.zh.ini +6 -0
  1543. pygpt_net/data/locale/plugin.cmd_files.de.ini +56 -0
  1544. pygpt_net/data/locale/plugin.cmd_files.en.ini +56 -0
  1545. pygpt_net/data/locale/plugin.cmd_files.es.ini +56 -0
  1546. pygpt_net/data/locale/plugin.cmd_files.fr.ini +56 -0
  1547. pygpt_net/data/locale/plugin.cmd_files.it.ini +56 -0
  1548. pygpt_net/data/locale/plugin.cmd_files.pl.ini +56 -0
  1549. pygpt_net/data/locale/plugin.cmd_files.uk.ini +56 -0
  1550. pygpt_net/data/locale/plugin.cmd_files.zh.ini +56 -0
  1551. pygpt_net/data/locale/plugin.cmd_history.de.ini +31 -0
  1552. pygpt_net/data/locale/plugin.cmd_history.en.ini +31 -0
  1553. pygpt_net/data/locale/plugin.cmd_history.es.ini +31 -0
  1554. pygpt_net/data/locale/plugin.cmd_history.fr.ini +31 -0
  1555. pygpt_net/data/locale/plugin.cmd_history.it.ini +31 -0
  1556. pygpt_net/data/locale/plugin.cmd_history.pl.ini +31 -0
  1557. pygpt_net/data/locale/plugin.cmd_history.uk.ini +31 -0
  1558. pygpt_net/data/locale/plugin.cmd_history.zh.ini +31 -0
  1559. pygpt_net/data/locale/plugin.cmd_mouse_control.de.ini +31 -0
  1560. pygpt_net/data/locale/plugin.cmd_mouse_control.en.ini +33 -0
  1561. pygpt_net/data/locale/plugin.cmd_mouse_control.es.ini +31 -0
  1562. pygpt_net/data/locale/plugin.cmd_mouse_control.fr.ini +31 -0
  1563. pygpt_net/data/locale/plugin.cmd_mouse_control.it.ini +31 -0
  1564. pygpt_net/data/locale/plugin.cmd_mouse_control.pl.ini +31 -0
  1565. pygpt_net/data/locale/plugin.cmd_mouse_control.uk.ini +31 -0
  1566. pygpt_net/data/locale/plugin.cmd_mouse_control.zh.ini +31 -0
  1567. pygpt_net/data/locale/plugin.cmd_serial.de.ini +17 -0
  1568. pygpt_net/data/locale/plugin.cmd_serial.en.ini +17 -0
  1569. pygpt_net/data/locale/plugin.cmd_serial.es.ini +17 -0
  1570. pygpt_net/data/locale/plugin.cmd_serial.fr.ini +17 -0
  1571. pygpt_net/data/locale/plugin.cmd_serial.it.ini +17 -0
  1572. pygpt_net/data/locale/plugin.cmd_serial.pl.ini +17 -0
  1573. pygpt_net/data/locale/plugin.cmd_serial.uk.ini +17 -0
  1574. pygpt_net/data/locale/plugin.cmd_serial.zh.ini +17 -0
  1575. pygpt_net/data/locale/plugin.cmd_system.de.ini +17 -0
  1576. pygpt_net/data/locale/plugin.cmd_system.en.ini +23 -0
  1577. pygpt_net/data/locale/plugin.cmd_system.es.ini +17 -0
  1578. pygpt_net/data/locale/plugin.cmd_system.fr.ini +17 -0
  1579. pygpt_net/data/locale/plugin.cmd_system.it.ini +17 -0
  1580. pygpt_net/data/locale/plugin.cmd_system.pl.ini +17 -0
  1581. pygpt_net/data/locale/plugin.cmd_system.uk.ini +17 -0
  1582. pygpt_net/data/locale/plugin.cmd_system.zh.ini +17 -0
  1583. pygpt_net/data/locale/plugin.cmd_web.de.ini +62 -0
  1584. pygpt_net/data/locale/plugin.cmd_web.en.ini +72 -0
  1585. pygpt_net/data/locale/plugin.cmd_web.es.ini +62 -0
  1586. pygpt_net/data/locale/plugin.cmd_web.fr.ini +62 -0
  1587. pygpt_net/data/locale/plugin.cmd_web.it.ini +62 -0
  1588. pygpt_net/data/locale/plugin.cmd_web.pl.ini +62 -0
  1589. pygpt_net/data/locale/plugin.cmd_web.uk.ini +62 -0
  1590. pygpt_net/data/locale/plugin.cmd_web.zh.ini +62 -0
  1591. pygpt_net/data/locale/plugin.crontab.de.ini +9 -0
  1592. pygpt_net/data/locale/plugin.crontab.en.ini +9 -0
  1593. pygpt_net/data/locale/plugin.crontab.es.ini +9 -0
  1594. pygpt_net/data/locale/plugin.crontab.fr.ini +9 -0
  1595. pygpt_net/data/locale/plugin.crontab.it.ini +9 -0
  1596. pygpt_net/data/locale/plugin.crontab.pl.ini +9 -0
  1597. pygpt_net/data/locale/plugin.crontab.uk.ini +9 -0
  1598. pygpt_net/data/locale/plugin.crontab.zh.ini +9 -0
  1599. pygpt_net/data/locale/plugin.experts.de.ini +3 -0
  1600. pygpt_net/data/locale/plugin.experts.en.ini +3 -0
  1601. pygpt_net/data/locale/plugin.experts.es.ini +3 -0
  1602. pygpt_net/data/locale/plugin.experts.fr.ini +3 -0
  1603. pygpt_net/data/locale/plugin.experts.it.ini +3 -0
  1604. pygpt_net/data/locale/plugin.experts.pl.ini +3 -0
  1605. pygpt_net/data/locale/plugin.experts.uk.ini +3 -0
  1606. pygpt_net/data/locale/plugin.experts.zh.ini +3 -0
  1607. pygpt_net/data/locale/plugin.extra_prompt.de.ini +5 -0
  1608. pygpt_net/data/locale/plugin.extra_prompt.en.ini +5 -0
  1609. pygpt_net/data/locale/plugin.extra_prompt.es.ini +5 -0
  1610. pygpt_net/data/locale/plugin.extra_prompt.fr.ini +5 -0
  1611. pygpt_net/data/locale/plugin.extra_prompt.it.ini +5 -0
  1612. pygpt_net/data/locale/plugin.extra_prompt.pl.ini +5 -0
  1613. pygpt_net/data/locale/plugin.extra_prompt.uk.ini +5 -0
  1614. pygpt_net/data/locale/plugin.extra_prompt.zh.ini +5 -0
  1615. pygpt_net/data/locale/plugin.idx_llama_index.de.ini +23 -0
  1616. pygpt_net/data/locale/plugin.idx_llama_index.en.ini +23 -0
  1617. pygpt_net/data/locale/plugin.idx_llama_index.es.ini +23 -0
  1618. pygpt_net/data/locale/plugin.idx_llama_index.fr.ini +23 -0
  1619. pygpt_net/data/locale/plugin.idx_llama_index.it.ini +23 -0
  1620. pygpt_net/data/locale/plugin.idx_llama_index.pl.ini +23 -0
  1621. pygpt_net/data/locale/plugin.idx_llama_index.uk.ini +23 -0
  1622. pygpt_net/data/locale/plugin.idx_llama_index.zh.ini +23 -0
  1623. pygpt_net/data/locale/plugin.mailer.en.ini +21 -0
  1624. pygpt_net/data/locale/plugin.openai_dalle.de.ini +5 -0
  1625. pygpt_net/data/locale/plugin.openai_dalle.en.ini +5 -0
  1626. pygpt_net/data/locale/plugin.openai_dalle.es.ini +5 -0
  1627. pygpt_net/data/locale/plugin.openai_dalle.fr.ini +5 -0
  1628. pygpt_net/data/locale/plugin.openai_dalle.it.ini +5 -0
  1629. pygpt_net/data/locale/plugin.openai_dalle.pl.ini +5 -0
  1630. pygpt_net/data/locale/plugin.openai_dalle.uk.ini +5 -0
  1631. pygpt_net/data/locale/plugin.openai_dalle.zh.ini +5 -0
  1632. pygpt_net/data/locale/plugin.openai_vision.de.ini +15 -0
  1633. pygpt_net/data/locale/plugin.openai_vision.en.ini +15 -0
  1634. pygpt_net/data/locale/plugin.openai_vision.es.ini +15 -0
  1635. pygpt_net/data/locale/plugin.openai_vision.fr.ini +15 -0
  1636. pygpt_net/data/locale/plugin.openai_vision.it.ini +15 -0
  1637. pygpt_net/data/locale/plugin.openai_vision.pl.ini +15 -0
  1638. pygpt_net/data/locale/plugin.openai_vision.uk.ini +15 -0
  1639. pygpt_net/data/locale/plugin.openai_vision.zh.ini +15 -0
  1640. pygpt_net/data/locale/plugin.real_time.de.ini +12 -0
  1641. pygpt_net/data/locale/plugin.real_time.en.ini +12 -0
  1642. pygpt_net/data/locale/plugin.real_time.es.ini +12 -0
  1643. pygpt_net/data/locale/plugin.real_time.fr.ini +12 -0
  1644. pygpt_net/data/locale/plugin.real_time.it.ini +12 -0
  1645. pygpt_net/data/locale/plugin.real_time.pl.ini +12 -0
  1646. pygpt_net/data/locale/plugin.real_time.uk.ini +12 -0
  1647. pygpt_net/data/locale/plugin.real_time.zh.ini +12 -0
  1648. pygpt_net/data/locale/plugin.voice_control.de.ini +5 -0
  1649. pygpt_net/data/locale/plugin.voice_control.en.ini +5 -0
  1650. pygpt_net/data/locale/plugin.voice_control.es.ini +5 -0
  1651. pygpt_net/data/locale/plugin.voice_control.fr.ini +5 -0
  1652. pygpt_net/data/locale/plugin.voice_control.it.ini +5 -0
  1653. pygpt_net/data/locale/plugin.voice_control.pl.ini +5 -0
  1654. pygpt_net/data/locale/plugin.voice_control.uk.ini +5 -0
  1655. pygpt_net/data/locale/plugin.voice_control.zh.ini +5 -0
  1656. pygpt_net/data/logo.png +0 -0
  1657. pygpt_net/data/prompts.csv +169 -0
  1658. pygpt_net/data/win32/README.rtf +0 -0
  1659. pygpt_net/data/win32/USER-LICENSE.rtf +0 -0
  1660. pygpt_net/data/win32/banner.bmp +0 -0
  1661. pygpt_net/data/win32/banner_welcome.bmp +0 -0
  1662. pygpt_net/data/win32/pygpt.aip +622 -0
  1663. pygpt_net/data/win32/qt.conf +2 -0
  1664. pygpt_net/fonts.qrc +64 -0
  1665. pygpt_net/fonts_rc.py +67878 -0
  1666. pygpt_net/icons.qrc +142 -0
  1667. pygpt_net/icons_rc.py +4559 -0
  1668. pygpt_net/item/__init__.py +10 -0
  1669. pygpt_net/item/assistant.py +369 -0
  1670. pygpt_net/item/attachment.py +104 -0
  1671. pygpt_net/item/calendar_note.py +76 -0
  1672. pygpt_net/item/ctx.py +588 -0
  1673. pygpt_net/item/index.py +68 -0
  1674. pygpt_net/item/mode.py +17 -0
  1675. pygpt_net/item/model.py +228 -0
  1676. pygpt_net/item/notepad.py +57 -0
  1677. pygpt_net/item/preset.py +178 -0
  1678. pygpt_net/item/prompt.py +63 -0
  1679. pygpt_net/js.qrc +8 -0
  1680. pygpt_net/js_rc.py +50785 -0
  1681. pygpt_net/launcher.py +270 -0
  1682. pygpt_net/migrations/Version20231227152900.py +87 -0
  1683. pygpt_net/migrations/Version20231230095000.py +25 -0
  1684. pygpt_net/migrations/Version20231231230000.py +25 -0
  1685. pygpt_net/migrations/Version20240106060000.py +38 -0
  1686. pygpt_net/migrations/Version20240107060000.py +25 -0
  1687. pygpt_net/migrations/Version20240222160000.py +56 -0
  1688. pygpt_net/migrations/Version20240223050000.py +34 -0
  1689. pygpt_net/migrations/Version20240303190000.py +25 -0
  1690. pygpt_net/migrations/Version20240408180000.py +34 -0
  1691. pygpt_net/migrations/Version20240426050000.py +55 -0
  1692. pygpt_net/migrations/Version20240501030000.py +31 -0
  1693. pygpt_net/migrations/Version20241122130000.py +34 -0
  1694. pygpt_net/migrations/Version20241126170000.py +28 -0
  1695. pygpt_net/migrations/Version20241215110000.py +25 -0
  1696. pygpt_net/migrations/__init__.py +53 -0
  1697. pygpt_net/migrations/base.py +17 -0
  1698. pygpt_net/plugin/__init__.py +10 -0
  1699. pygpt_net/plugin/agent/__init__.py +211 -0
  1700. pygpt_net/plugin/agent/config.py +146 -0
  1701. pygpt_net/plugin/audio_input/__init__.py +526 -0
  1702. pygpt_net/plugin/audio_input/config.py +247 -0
  1703. pygpt_net/plugin/audio_input/simple.py +163 -0
  1704. pygpt_net/plugin/audio_input/worker.py +297 -0
  1705. pygpt_net/plugin/audio_output/__init__.py +271 -0
  1706. pygpt_net/plugin/audio_output/config.py +34 -0
  1707. pygpt_net/plugin/audio_output/worker.py +105 -0
  1708. pygpt_net/plugin/base/__init__.py +0 -0
  1709. pygpt_net/plugin/base/config.py +26 -0
  1710. pygpt_net/plugin/base/plugin.py +523 -0
  1711. pygpt_net/plugin/base/signals.py +23 -0
  1712. pygpt_net/plugin/base/worker.py +268 -0
  1713. pygpt_net/plugin/cmd_api/__init__.py +305 -0
  1714. pygpt_net/plugin/cmd_api/config.py +91 -0
  1715. pygpt_net/plugin/cmd_api/worker.py +173 -0
  1716. pygpt_net/plugin/cmd_code_interpreter/__init__.py +274 -0
  1717. pygpt_net/plugin/cmd_code_interpreter/builder.py +82 -0
  1718. pygpt_net/plugin/cmd_code_interpreter/config.py +390 -0
  1719. pygpt_net/plugin/cmd_code_interpreter/docker.py +63 -0
  1720. pygpt_net/plugin/cmd_code_interpreter/ipython/__init__.py +13 -0
  1721. pygpt_net/plugin/cmd_code_interpreter/ipython/docker_kernel.py +546 -0
  1722. pygpt_net/plugin/cmd_code_interpreter/ipython/local_kernel.py +220 -0
  1723. pygpt_net/plugin/cmd_code_interpreter/output.py +42 -0
  1724. pygpt_net/plugin/cmd_code_interpreter/runner.py +627 -0
  1725. pygpt_net/plugin/cmd_code_interpreter/worker.py +351 -0
  1726. pygpt_net/plugin/cmd_custom/__init__.py +136 -0
  1727. pygpt_net/plugin/cmd_custom/config.py +54 -0
  1728. pygpt_net/plugin/cmd_custom/worker.py +129 -0
  1729. pygpt_net/plugin/cmd_files/__init__.py +151 -0
  1730. pygpt_net/plugin/cmd_files/config.py +426 -0
  1731. pygpt_net/plugin/cmd_files/output.py +42 -0
  1732. pygpt_net/plugin/cmd_files/worker.py +895 -0
  1733. pygpt_net/plugin/cmd_history/__init__.py +378 -0
  1734. pygpt_net/plugin/cmd_history/config.py +270 -0
  1735. pygpt_net/plugin/cmd_history/worker.py +184 -0
  1736. pygpt_net/plugin/cmd_mouse_control/__init__.py +166 -0
  1737. pygpt_net/plugin/cmd_mouse_control/config.py +277 -0
  1738. pygpt_net/plugin/cmd_mouse_control/worker.py +327 -0
  1739. pygpt_net/plugin/cmd_serial/__init__.py +104 -0
  1740. pygpt_net/plugin/cmd_serial/config.py +105 -0
  1741. pygpt_net/plugin/cmd_serial/worker.py +239 -0
  1742. pygpt_net/plugin/cmd_system/__init__.py +169 -0
  1743. pygpt_net/plugin/cmd_system/config.py +137 -0
  1744. pygpt_net/plugin/cmd_system/docker.py +63 -0
  1745. pygpt_net/plugin/cmd_system/output.py +42 -0
  1746. pygpt_net/plugin/cmd_system/runner.py +258 -0
  1747. pygpt_net/plugin/cmd_system/worker.py +120 -0
  1748. pygpt_net/plugin/cmd_web/__init__.py +435 -0
  1749. pygpt_net/plugin/cmd_web/config.py +367 -0
  1750. pygpt_net/plugin/cmd_web/websearch.py +469 -0
  1751. pygpt_net/plugin/cmd_web/worker.py +464 -0
  1752. pygpt_net/plugin/crontab/__init__.py +188 -0
  1753. pygpt_net/plugin/crontab/config.py +73 -0
  1754. pygpt_net/plugin/experts/__init__.py +81 -0
  1755. pygpt_net/plugin/experts/config.py +26 -0
  1756. pygpt_net/plugin/extra_prompt/__init__.py +65 -0
  1757. pygpt_net/plugin/extra_prompt/config.py +44 -0
  1758. pygpt_net/plugin/idx_llama_index/__init__.py +349 -0
  1759. pygpt_net/plugin/idx_llama_index/config.py +134 -0
  1760. pygpt_net/plugin/idx_llama_index/worker.py +93 -0
  1761. pygpt_net/plugin/mailer/__init__.py +123 -0
  1762. pygpt_net/plugin/mailer/config.py +149 -0
  1763. pygpt_net/plugin/mailer/runner.py +285 -0
  1764. pygpt_net/plugin/mailer/worker.py +123 -0
  1765. pygpt_net/plugin/openai_dalle/__init__.py +165 -0
  1766. pygpt_net/plugin/openai_dalle/config.py +72 -0
  1767. pygpt_net/plugin/openai_vision/__init__.py +333 -0
  1768. pygpt_net/plugin/openai_vision/config.py +118 -0
  1769. pygpt_net/plugin/openai_vision/worker.py +159 -0
  1770. pygpt_net/plugin/real_time/__init__.py +168 -0
  1771. pygpt_net/plugin/real_time/config.py +61 -0
  1772. pygpt_net/plugin/voice_control/__init__.py +158 -0
  1773. pygpt_net/plugin/voice_control/config.py +35 -0
  1774. pygpt_net/provider/__init__.py +10 -0
  1775. pygpt_net/provider/agents/__init__.py +0 -0
  1776. pygpt_net/provider/agents/base.py +36 -0
  1777. pygpt_net/provider/agents/openai.py +43 -0
  1778. pygpt_net/provider/agents/openai_assistant.py +77 -0
  1779. pygpt_net/provider/agents/planner.py +52 -0
  1780. pygpt_net/provider/agents/react.py +68 -0
  1781. pygpt_net/provider/audio_input/__init__.py +10 -0
  1782. pygpt_net/provider/audio_input/base.py +70 -0
  1783. pygpt_net/provider/audio_input/bing_speech_recognition.py +90 -0
  1784. pygpt_net/provider/audio_input/google_cloud_speech_recognition.py +90 -0
  1785. pygpt_net/provider/audio_input/google_speech_recognition.py +90 -0
  1786. pygpt_net/provider/audio_input/openai_whisper.py +69 -0
  1787. pygpt_net/provider/audio_input/openai_whisper_local.py +90 -0
  1788. pygpt_net/provider/audio_output/__init__.py +10 -0
  1789. pygpt_net/provider/audio_output/base.py +71 -0
  1790. pygpt_net/provider/audio_output/eleven_labs.py +130 -0
  1791. pygpt_net/provider/audio_output/google_tts.py +131 -0
  1792. pygpt_net/provider/audio_output/ms_azure_tts.py +138 -0
  1793. pygpt_net/provider/audio_output/openai_tts.py +98 -0
  1794. pygpt_net/provider/core/__init__.py +10 -0
  1795. pygpt_net/provider/core/assistant/__init__.py +10 -0
  1796. pygpt_net/provider/core/assistant/base.py +50 -0
  1797. pygpt_net/provider/core/assistant/json_file.py +213 -0
  1798. pygpt_net/provider/core/assistant_file/__init__.py +10 -0
  1799. pygpt_net/provider/core/assistant_file/base.py +55 -0
  1800. pygpt_net/provider/core/assistant_file/db_sqlite/__init__.py +201 -0
  1801. pygpt_net/provider/core/assistant_file/db_sqlite/patch.py +27 -0
  1802. pygpt_net/provider/core/assistant_file/db_sqlite/storage.py +352 -0
  1803. pygpt_net/provider/core/assistant_file/db_sqlite/utils.py +62 -0
  1804. pygpt_net/provider/core/assistant_store/__init__.py +10 -0
  1805. pygpt_net/provider/core/assistant_store/base.py +56 -0
  1806. pygpt_net/provider/core/assistant_store/db_sqlite/__init__.py +135 -0
  1807. pygpt_net/provider/core/assistant_store/db_sqlite/patch.py +27 -0
  1808. pygpt_net/provider/core/assistant_store/db_sqlite/storage.py +240 -0
  1809. pygpt_net/provider/core/assistant_store/db_sqlite/utils.py +66 -0
  1810. pygpt_net/provider/core/assistant_store/json_file.py +150 -0
  1811. pygpt_net/provider/core/attachment/__init__.py +10 -0
  1812. pygpt_net/provider/core/attachment/base.py +50 -0
  1813. pygpt_net/provider/core/attachment/json_file.py +183 -0
  1814. pygpt_net/provider/core/calendar/__init__.py +10 -0
  1815. pygpt_net/provider/core/calendar/base.py +56 -0
  1816. pygpt_net/provider/core/calendar/db_sqlite/__init__.py +150 -0
  1817. pygpt_net/provider/core/calendar/db_sqlite/patch.py +26 -0
  1818. pygpt_net/provider/core/calendar/db_sqlite/storage.py +328 -0
  1819. pygpt_net/provider/core/config/__init__.py +10 -0
  1820. pygpt_net/provider/core/config/base.py +51 -0
  1821. pygpt_net/provider/core/config/json_file.py +154 -0
  1822. pygpt_net/provider/core/config/patch.py +1819 -0
  1823. pygpt_net/provider/core/ctx/__init__.py +10 -0
  1824. pygpt_net/provider/core/ctx/base.py +121 -0
  1825. pygpt_net/provider/core/ctx/db_sqlite/__init__.py +416 -0
  1826. pygpt_net/provider/core/ctx/db_sqlite/patch.py +95 -0
  1827. pygpt_net/provider/core/ctx/db_sqlite/storage.py +1334 -0
  1828. pygpt_net/provider/core/ctx/db_sqlite/utils.py +264 -0
  1829. pygpt_net/provider/core/ctx/json_file.py +368 -0
  1830. pygpt_net/provider/core/history/__init__.py +10 -0
  1831. pygpt_net/provider/core/history/base.py +31 -0
  1832. pygpt_net/provider/core/history/patch.py +26 -0
  1833. pygpt_net/provider/core/history/txt_file.py +89 -0
  1834. pygpt_net/provider/core/index/__init__.py +10 -0
  1835. pygpt_net/provider/core/index/base.py +208 -0
  1836. pygpt_net/provider/core/index/db_sqlite/__init__.py +380 -0
  1837. pygpt_net/provider/core/index/db_sqlite/patch.py +90 -0
  1838. pygpt_net/provider/core/index/db_sqlite/storage.py +712 -0
  1839. pygpt_net/provider/core/index/db_sqlite/utils.py +31 -0
  1840. pygpt_net/provider/core/index/json_file.py +218 -0
  1841. pygpt_net/provider/core/index/patch.py +26 -0
  1842. pygpt_net/provider/core/mode/__init__.py +10 -0
  1843. pygpt_net/provider/core/mode/base.py +45 -0
  1844. pygpt_net/provider/core/mode/json_file.py +142 -0
  1845. pygpt_net/provider/core/mode/patch.py +26 -0
  1846. pygpt_net/provider/core/model/__init__.py +10 -0
  1847. pygpt_net/provider/core/model/base.py +56 -0
  1848. pygpt_net/provider/core/model/json_file.py +205 -0
  1849. pygpt_net/provider/core/model/patch.py +487 -0
  1850. pygpt_net/provider/core/notepad/__init__.py +10 -0
  1851. pygpt_net/provider/core/notepad/base.py +56 -0
  1852. pygpt_net/provider/core/notepad/db_sqlite/__init__.py +116 -0
  1853. pygpt_net/provider/core/notepad/db_sqlite/patch.py +87 -0
  1854. pygpt_net/provider/core/notepad/db_sqlite/storage.py +228 -0
  1855. pygpt_net/provider/core/notepad/json_file.py +235 -0
  1856. pygpt_net/provider/core/plugin_preset/__init__.py +10 -0
  1857. pygpt_net/provider/core/plugin_preset/base.py +39 -0
  1858. pygpt_net/provider/core/plugin_preset/json_file.py +99 -0
  1859. pygpt_net/provider/core/plugin_preset/patch.py +58 -0
  1860. pygpt_net/provider/core/preset/__init__.py +10 -0
  1861. pygpt_net/provider/core/preset/base.py +59 -0
  1862. pygpt_net/provider/core/preset/json_file.py +280 -0
  1863. pygpt_net/provider/core/preset/patch.py +136 -0
  1864. pygpt_net/provider/core/prompt/__init__.py +0 -0
  1865. pygpt_net/provider/core/prompt/base.py +51 -0
  1866. pygpt_net/provider/core/prompt/json_file.py +170 -0
  1867. pygpt_net/provider/gpt/__init__.py +251 -0
  1868. pygpt_net/provider/gpt/assistants.py +465 -0
  1869. pygpt_net/provider/gpt/audio.py +64 -0
  1870. pygpt_net/provider/gpt/chat.py +280 -0
  1871. pygpt_net/provider/gpt/completion.py +191 -0
  1872. pygpt_net/provider/gpt/image.py +253 -0
  1873. pygpt_net/provider/gpt/store.py +608 -0
  1874. pygpt_net/provider/gpt/summarizer.py +63 -0
  1875. pygpt_net/provider/gpt/utils.py +27 -0
  1876. pygpt_net/provider/gpt/vision.py +307 -0
  1877. pygpt_net/provider/gpt/worker/__init__.py +0 -0
  1878. pygpt_net/provider/gpt/worker/assistants.py +619 -0
  1879. pygpt_net/provider/gpt/worker/importer.py +427 -0
  1880. pygpt_net/provider/llms/__init__.py +0 -0
  1881. pygpt_net/provider/llms/anthropic.py +50 -0
  1882. pygpt_net/provider/llms/azure_openai.py +112 -0
  1883. pygpt_net/provider/llms/base.py +175 -0
  1884. pygpt_net/provider/llms/google.py +50 -0
  1885. pygpt_net/provider/llms/hugging_face.py +58 -0
  1886. pygpt_net/provider/llms/hugging_face_api.py +85 -0
  1887. pygpt_net/provider/llms/local.py +43 -0
  1888. pygpt_net/provider/llms/ollama.py +124 -0
  1889. pygpt_net/provider/llms/openai.py +123 -0
  1890. pygpt_net/provider/loaders/__init__.py +0 -0
  1891. pygpt_net/provider/loaders/base.py +107 -0
  1892. pygpt_net/provider/loaders/file_csv.py +41 -0
  1893. pygpt_net/provider/loaders/file_docx.py +32 -0
  1894. pygpt_net/provider/loaders/file_epub.py +32 -0
  1895. pygpt_net/provider/loaders/file_excel.py +32 -0
  1896. pygpt_net/provider/loaders/file_html.py +41 -0
  1897. pygpt_net/provider/loaders/file_image_vision.py +53 -0
  1898. pygpt_net/provider/loaders/file_ipynb.py +41 -0
  1899. pygpt_net/provider/loaders/file_json.py +32 -0
  1900. pygpt_net/provider/loaders/file_markdown.py +41 -0
  1901. pygpt_net/provider/loaders/file_pdf.py +39 -0
  1902. pygpt_net/provider/loaders/file_video_audio.py +54 -0
  1903. pygpt_net/provider/loaders/file_xml.py +39 -0
  1904. pygpt_net/provider/loaders/hub/__init__.py +0 -0
  1905. pygpt_net/provider/loaders/hub/bitbucket/__init__.py +0 -0
  1906. pygpt_net/provider/loaders/hub/bitbucket/repo.py +189 -0
  1907. pygpt_net/provider/loaders/hub/chatgpt_retrieval/__init__.py +0 -0
  1908. pygpt_net/provider/loaders/hub/chatgpt_retrieval/base.py +75 -0
  1909. pygpt_net/provider/loaders/hub/database/__init__.py +0 -0
  1910. pygpt_net/provider/loaders/hub/database/base.py +122 -0
  1911. pygpt_net/provider/loaders/hub/github/__init__.py +0 -0
  1912. pygpt_net/provider/loaders/hub/github/issues.py +113 -0
  1913. pygpt_net/provider/loaders/hub/github/repo.py +101 -0
  1914. pygpt_net/provider/loaders/hub/google/__init__.py +0 -0
  1915. pygpt_net/provider/loaders/hub/google/calendar.py +72 -0
  1916. pygpt_net/provider/loaders/hub/google/docs.py +152 -0
  1917. pygpt_net/provider/loaders/hub/google/gmail.py +200 -0
  1918. pygpt_net/provider/loaders/hub/google/keep.py +50 -0
  1919. pygpt_net/provider/loaders/hub/google/sheets.py +153 -0
  1920. pygpt_net/provider/loaders/hub/image_vision/__init__.py +0 -0
  1921. pygpt_net/provider/loaders/hub/image_vision/base.py +229 -0
  1922. pygpt_net/provider/loaders/hub/json/__init__.py +0 -0
  1923. pygpt_net/provider/loaders/hub/json/base.py +114 -0
  1924. pygpt_net/provider/loaders/hub/pandas_excel/__init__.py +0 -0
  1925. pygpt_net/provider/loaders/hub/pandas_excel/base.py +112 -0
  1926. pygpt_net/provider/loaders/hub/simple_csv/__init__.py +0 -0
  1927. pygpt_net/provider/loaders/hub/simple_csv/base.py +53 -0
  1928. pygpt_net/provider/loaders/hub/video_audio/__init__.py +0 -0
  1929. pygpt_net/provider/loaders/hub/video_audio/base.py +161 -0
  1930. pygpt_net/provider/loaders/hub/web_page/__init__.py +0 -0
  1931. pygpt_net/provider/loaders/hub/web_page/base.py +23 -0
  1932. pygpt_net/provider/loaders/hub/yt/__init__.py +0 -0
  1933. pygpt_net/provider/loaders/hub/yt/base.py +75 -0
  1934. pygpt_net/provider/loaders/hub/yt/utils.py +18 -0
  1935. pygpt_net/provider/loaders/web_bitbucket.py +106 -0
  1936. pygpt_net/provider/loaders/web_chatgpt_retrieval.py +86 -0
  1937. pygpt_net/provider/loaders/web_database.py +103 -0
  1938. pygpt_net/provider/loaders/web_github_issues.py +127 -0
  1939. pygpt_net/provider/loaders/web_github_repo.py +131 -0
  1940. pygpt_net/provider/loaders/web_google_calendar.py +94 -0
  1941. pygpt_net/provider/loaders/web_google_docs.py +84 -0
  1942. pygpt_net/provider/loaders/web_google_drive.py +114 -0
  1943. pygpt_net/provider/loaders/web_google_gmail.py +89 -0
  1944. pygpt_net/provider/loaders/web_google_keep.py +81 -0
  1945. pygpt_net/provider/loaders/web_google_sheets.py +85 -0
  1946. pygpt_net/provider/loaders/web_microsoft_onedrive.py +127 -0
  1947. pygpt_net/provider/loaders/web_page.py +56 -0
  1948. pygpt_net/provider/loaders/web_rss.py +56 -0
  1949. pygpt_net/provider/loaders/web_sitemap.py +69 -0
  1950. pygpt_net/provider/loaders/web_twitter.py +90 -0
  1951. pygpt_net/provider/loaders/web_yt.py +87 -0
  1952. pygpt_net/provider/vector_stores/__init__.py +309 -0
  1953. pygpt_net/provider/vector_stores/base.py +180 -0
  1954. pygpt_net/provider/vector_stores/chroma.py +112 -0
  1955. pygpt_net/provider/vector_stores/ctx_attachment.py +123 -0
  1956. pygpt_net/provider/vector_stores/elasticsearch.py +107 -0
  1957. pygpt_net/provider/vector_stores/pinecode.py +172 -0
  1958. pygpt_net/provider/vector_stores/redis.py +110 -0
  1959. pygpt_net/provider/vector_stores/simple.py +91 -0
  1960. pygpt_net/provider/vector_stores/temp.py +170 -0
  1961. pygpt_net/provider/web/__init__.py +10 -0
  1962. pygpt_net/provider/web/base.py +81 -0
  1963. pygpt_net/provider/web/google_custom_search.py +156 -0
  1964. pygpt_net/provider/web/microsoft_bing.py +140 -0
  1965. pygpt_net/tools/__init__.py +150 -0
  1966. pygpt_net/tools/audio_transcriber/__init__.py +292 -0
  1967. pygpt_net/tools/audio_transcriber/ui/__init__.py +0 -0
  1968. pygpt_net/tools/audio_transcriber/ui/dialogs.py +150 -0
  1969. pygpt_net/tools/base.py +113 -0
  1970. pygpt_net/tools/code_interpreter/__init__.py +563 -0
  1971. pygpt_net/tools/code_interpreter/ui/__init__.py +0 -0
  1972. pygpt_net/tools/code_interpreter/ui/dialogs.py +127 -0
  1973. pygpt_net/tools/code_interpreter/ui/widgets.py +386 -0
  1974. pygpt_net/tools/html_canvas/__init__.py +320 -0
  1975. pygpt_net/tools/html_canvas/ui/__init__.py +0 -0
  1976. pygpt_net/tools/html_canvas/ui/dialogs.py +142 -0
  1977. pygpt_net/tools/html_canvas/ui/widgets.py +135 -0
  1978. pygpt_net/tools/image_viewer/__init__.py +303 -0
  1979. pygpt_net/tools/image_viewer/ui/__init__.py +0 -0
  1980. pygpt_net/tools/image_viewer/ui/dialogs.py +152 -0
  1981. pygpt_net/tools/indexer/__init__.py +520 -0
  1982. pygpt_net/tools/indexer/ui/__init__.py +0 -0
  1983. pygpt_net/tools/indexer/ui/browse.py +46 -0
  1984. pygpt_net/tools/indexer/ui/ctx.py +96 -0
  1985. pygpt_net/tools/indexer/ui/dialogs.py +199 -0
  1986. pygpt_net/tools/indexer/ui/files.py +101 -0
  1987. pygpt_net/tools/indexer/ui/web.py +199 -0
  1988. pygpt_net/tools/indexer/ui/widgets.py +121 -0
  1989. pygpt_net/tools/media_player/__init__.py +202 -0
  1990. pygpt_net/tools/media_player/ui/__init__.py +0 -0
  1991. pygpt_net/tools/media_player/ui/dialogs.py +113 -0
  1992. pygpt_net/tools/media_player/ui/widgets.py +474 -0
  1993. pygpt_net/tools/text_editor/__init__.py +293 -0
  1994. pygpt_net/tools/text_editor/ui/__init__.py +0 -0
  1995. pygpt_net/tools/text_editor/ui/dialogs.py +80 -0
  1996. pygpt_net/tools/text_editor/ui/widgets.py +77 -0
  1997. pygpt_net/ui/__init__.py +283 -0
  1998. pygpt_net/ui/base/__init__.py +0 -0
  1999. pygpt_net/ui/base/config_dialog.py +265 -0
  2000. pygpt_net/ui/base/context_menu.py +81 -0
  2001. pygpt_net/ui/dialog/__init__.py +10 -0
  2002. pygpt_net/ui/dialog/about.py +180 -0
  2003. pygpt_net/ui/dialog/applog.py +147 -0
  2004. pygpt_net/ui/dialog/assistant.py +168 -0
  2005. pygpt_net/ui/dialog/assistant_store.py +525 -0
  2006. pygpt_net/ui/dialog/changelog.py +53 -0
  2007. pygpt_net/ui/dialog/create.py +29 -0
  2008. pygpt_net/ui/dialog/db.py +510 -0
  2009. pygpt_net/ui/dialog/debug.py +57 -0
  2010. pygpt_net/ui/dialog/dictionary.py +147 -0
  2011. pygpt_net/ui/dialog/editor.py +68 -0
  2012. pygpt_net/ui/dialog/find.py +29 -0
  2013. pygpt_net/ui/dialog/image.py +73 -0
  2014. pygpt_net/ui/dialog/license.py +66 -0
  2015. pygpt_net/ui/dialog/logger.py +48 -0
  2016. pygpt_net/ui/dialog/models.py +338 -0
  2017. pygpt_net/ui/dialog/plugins.py +513 -0
  2018. pygpt_net/ui/dialog/preset.py +231 -0
  2019. pygpt_net/ui/dialog/preset_plugins.py +105 -0
  2020. pygpt_net/ui/dialog/profile.py +118 -0
  2021. pygpt_net/ui/dialog/rename.py +29 -0
  2022. pygpt_net/ui/dialog/settings.py +392 -0
  2023. pygpt_net/ui/dialog/snap.py +27 -0
  2024. pygpt_net/ui/dialog/start.py +63 -0
  2025. pygpt_net/ui/dialog/update.py +26 -0
  2026. pygpt_net/ui/dialog/url.py +29 -0
  2027. pygpt_net/ui/dialog/workdir.py +108 -0
  2028. pygpt_net/ui/dialogs.py +271 -0
  2029. pygpt_net/ui/layout/__init__.py +10 -0
  2030. pygpt_net/ui/layout/chat/__init__.py +47 -0
  2031. pygpt_net/ui/layout/chat/attachments.py +193 -0
  2032. pygpt_net/ui/layout/chat/attachments_ctx.py +162 -0
  2033. pygpt_net/ui/layout/chat/attachments_uploaded.py +133 -0
  2034. pygpt_net/ui/layout/chat/calendar.py +148 -0
  2035. pygpt_net/ui/layout/chat/explorer.py +39 -0
  2036. pygpt_net/ui/layout/chat/input.py +281 -0
  2037. pygpt_net/ui/layout/chat/markdown.py +384 -0
  2038. pygpt_net/ui/layout/chat/output.py +244 -0
  2039. pygpt_net/ui/layout/chat/painter.py +129 -0
  2040. pygpt_net/ui/layout/ctx/__init__.py +59 -0
  2041. pygpt_net/ui/layout/ctx/ctx_list.py +334 -0
  2042. pygpt_net/ui/layout/ctx/search_input.py +46 -0
  2043. pygpt_net/ui/layout/ctx/video.py +33 -0
  2044. pygpt_net/ui/layout/status.py +51 -0
  2045. pygpt_net/ui/layout/toolbox/__init__.py +79 -0
  2046. pygpt_net/ui/layout/toolbox/agent.py +79 -0
  2047. pygpt_net/ui/layout/toolbox/agent_llama.py +74 -0
  2048. pygpt_net/ui/layout/toolbox/assistants.py +126 -0
  2049. pygpt_net/ui/layout/toolbox/footer.py +149 -0
  2050. pygpt_net/ui/layout/toolbox/image.py +73 -0
  2051. pygpt_net/ui/layout/toolbox/indexes.py +236 -0
  2052. pygpt_net/ui/layout/toolbox/mode.py +59 -0
  2053. pygpt_net/ui/layout/toolbox/model.py +60 -0
  2054. pygpt_net/ui/layout/toolbox/presets.py +144 -0
  2055. pygpt_net/ui/layout/toolbox/prompt.py +96 -0
  2056. pygpt_net/ui/layout/toolbox/vision.py +61 -0
  2057. pygpt_net/ui/main.py +340 -0
  2058. pygpt_net/ui/menu/__init__.py +61 -0
  2059. pygpt_net/ui/menu/about.py +94 -0
  2060. pygpt_net/ui/menu/audio.py +89 -0
  2061. pygpt_net/ui/menu/config.py +158 -0
  2062. pygpt_net/ui/menu/debug.py +107 -0
  2063. pygpt_net/ui/menu/file.py +68 -0
  2064. pygpt_net/ui/menu/lang.py +28 -0
  2065. pygpt_net/ui/menu/plugins.py +60 -0
  2066. pygpt_net/ui/menu/theme.py +78 -0
  2067. pygpt_net/ui/menu/tools.py +83 -0
  2068. pygpt_net/ui/menu/video.py +51 -0
  2069. pygpt_net/ui/tray.py +201 -0
  2070. pygpt_net/ui/widget/__init__.py +10 -0
  2071. pygpt_net/ui/widget/anims/loader.py +229 -0
  2072. pygpt_net/ui/widget/anims/toggles.py +167 -0
  2073. pygpt_net/ui/widget/audio/__init__.py +10 -0
  2074. pygpt_net/ui/widget/audio/input.py +50 -0
  2075. pygpt_net/ui/widget/audio/input_button.py +118 -0
  2076. pygpt_net/ui/widget/audio/output.py +54 -0
  2077. pygpt_net/ui/widget/calendar/__init__.py +0 -0
  2078. pygpt_net/ui/widget/calendar/select.py +280 -0
  2079. pygpt_net/ui/widget/dialog/__init__.py +10 -0
  2080. pygpt_net/ui/widget/dialog/alert.py +41 -0
  2081. pygpt_net/ui/widget/dialog/applog.py +54 -0
  2082. pygpt_net/ui/widget/dialog/assistant_store.py +56 -0
  2083. pygpt_net/ui/widget/dialog/audio.py +16 -0
  2084. pygpt_net/ui/widget/dialog/base.py +114 -0
  2085. pygpt_net/ui/widget/dialog/confirm.py +55 -0
  2086. pygpt_net/ui/widget/dialog/create.py +56 -0
  2087. pygpt_net/ui/widget/dialog/db.py +55 -0
  2088. pygpt_net/ui/widget/dialog/debug.py +55 -0
  2089. pygpt_net/ui/widget/dialog/editor.py +58 -0
  2090. pygpt_net/ui/widget/dialog/editor_file.py +185 -0
  2091. pygpt_net/ui/widget/dialog/find.py +88 -0
  2092. pygpt_net/ui/widget/dialog/image.py +25 -0
  2093. pygpt_net/ui/widget/dialog/info.py +54 -0
  2094. pygpt_net/ui/widget/dialog/license.py +59 -0
  2095. pygpt_net/ui/widget/dialog/logger.py +56 -0
  2096. pygpt_net/ui/widget/dialog/model.py +55 -0
  2097. pygpt_net/ui/widget/dialog/preset_plugins.py +55 -0
  2098. pygpt_net/ui/widget/dialog/profile.py +177 -0
  2099. pygpt_net/ui/widget/dialog/rename.py +56 -0
  2100. pygpt_net/ui/widget/dialog/settings.py +55 -0
  2101. pygpt_net/ui/widget/dialog/settings_plugin.py +55 -0
  2102. pygpt_net/ui/widget/dialog/snap.py +74 -0
  2103. pygpt_net/ui/widget/dialog/update.py +191 -0
  2104. pygpt_net/ui/widget/dialog/url.py +207 -0
  2105. pygpt_net/ui/widget/dialog/workdir.py +54 -0
  2106. pygpt_net/ui/widget/draw/__init__.py +10 -0
  2107. pygpt_net/ui/widget/draw/painter.py +355 -0
  2108. pygpt_net/ui/widget/element/__init__.py +10 -0
  2109. pygpt_net/ui/widget/element/button.py +110 -0
  2110. pygpt_net/ui/widget/element/checkbox.py +77 -0
  2111. pygpt_net/ui/widget/element/group.py +120 -0
  2112. pygpt_net/ui/widget/element/labels.py +124 -0
  2113. pygpt_net/ui/widget/filesystem/__init__.py +0 -0
  2114. pygpt_net/ui/widget/filesystem/explorer.py +635 -0
  2115. pygpt_net/ui/widget/image/__init__.py +10 -0
  2116. pygpt_net/ui/widget/image/display.py +125 -0
  2117. pygpt_net/ui/widget/lists/__init__.py +10 -0
  2118. pygpt_net/ui/widget/lists/assistant.py +90 -0
  2119. pygpt_net/ui/widget/lists/assistant_store.py +114 -0
  2120. pygpt_net/ui/widget/lists/attachment.py +217 -0
  2121. pygpt_net/ui/widget/lists/attachment_ctx.py +173 -0
  2122. pygpt_net/ui/widget/lists/base.py +73 -0
  2123. pygpt_net/ui/widget/lists/base_combo.py +130 -0
  2124. pygpt_net/ui/widget/lists/base_list_combo.py +121 -0
  2125. pygpt_net/ui/widget/lists/context.py +532 -0
  2126. pygpt_net/ui/widget/lists/db.py +176 -0
  2127. pygpt_net/ui/widget/lists/debug.py +118 -0
  2128. pygpt_net/ui/widget/lists/experts.py +136 -0
  2129. pygpt_net/ui/widget/lists/index.py +153 -0
  2130. pygpt_net/ui/widget/lists/index_combo.py +130 -0
  2131. pygpt_net/ui/widget/lists/llama_mode_combo.py +35 -0
  2132. pygpt_net/ui/widget/lists/mode.py +29 -0
  2133. pygpt_net/ui/widget/lists/mode_combo.py +34 -0
  2134. pygpt_net/ui/widget/lists/model.py +64 -0
  2135. pygpt_net/ui/widget/lists/model_combo.py +34 -0
  2136. pygpt_net/ui/widget/lists/model_editor.py +64 -0
  2137. pygpt_net/ui/widget/lists/plugin.py +31 -0
  2138. pygpt_net/ui/widget/lists/preset.py +175 -0
  2139. pygpt_net/ui/widget/lists/preset_plugins.py +124 -0
  2140. pygpt_net/ui/widget/lists/profile.py +141 -0
  2141. pygpt_net/ui/widget/lists/settings.py +30 -0
  2142. pygpt_net/ui/widget/lists/uploaded.py +141 -0
  2143. pygpt_net/ui/widget/option/__init__.py +10 -0
  2144. pygpt_net/ui/widget/option/checkbox.py +123 -0
  2145. pygpt_net/ui/widget/option/cmd.py +159 -0
  2146. pygpt_net/ui/widget/option/combo.py +122 -0
  2147. pygpt_net/ui/widget/option/dictionary.py +423 -0
  2148. pygpt_net/ui/widget/option/input.py +289 -0
  2149. pygpt_net/ui/widget/option/prompt.py +86 -0
  2150. pygpt_net/ui/widget/option/slider.py +95 -0
  2151. pygpt_net/ui/widget/option/textarea.py +86 -0
  2152. pygpt_net/ui/widget/option/toggle.py +63 -0
  2153. pygpt_net/ui/widget/option/toggle_label.py +79 -0
  2154. pygpt_net/ui/widget/tabs/Input.py +49 -0
  2155. pygpt_net/ui/widget/tabs/__init__.py +10 -0
  2156. pygpt_net/ui/widget/tabs/body.py +36 -0
  2157. pygpt_net/ui/widget/tabs/layout.py +195 -0
  2158. pygpt_net/ui/widget/tabs/output.py +362 -0
  2159. pygpt_net/ui/widget/textarea/__init__.py +10 -0
  2160. pygpt_net/ui/widget/textarea/calendar_note.py +148 -0
  2161. pygpt_net/ui/widget/textarea/create.py +43 -0
  2162. pygpt_net/ui/widget/textarea/editor.py +184 -0
  2163. pygpt_net/ui/widget/textarea/find.py +52 -0
  2164. pygpt_net/ui/widget/textarea/html.py +329 -0
  2165. pygpt_net/ui/widget/textarea/input.py +175 -0
  2166. pygpt_net/ui/widget/textarea/name.py +35 -0
  2167. pygpt_net/ui/widget/textarea/notepad.py +205 -0
  2168. pygpt_net/ui/widget/textarea/output.py +160 -0
  2169. pygpt_net/ui/widget/textarea/rename.py +43 -0
  2170. pygpt_net/ui/widget/textarea/search_input.py +60 -0
  2171. pygpt_net/ui/widget/textarea/url.py +43 -0
  2172. pygpt_net/ui/widget/textarea/web.py +361 -0
  2173. pygpt_net/ui/widget/vision/__init__.py +10 -0
  2174. pygpt_net/ui/widget/vision/camera.py +89 -0
  2175. pygpt_net/utils.py +233 -0
  2176. pygpt_net-2.4.47.dist-info/LICENSE +23 -0
  2177. pygpt_net-2.4.47.dist-info/METADATA +4178 -0
  2178. pygpt_net-2.4.47.dist-info/RECORD +2180 -0
  2179. pygpt_net-2.4.47.dist-info/WHEEL +4 -0
  2180. pygpt_net-2.4.47.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,1356 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ # ================================================== #
4
+ # This file is a part of PYGPT package #
5
+ # Website: https://pygpt.net #
6
+ # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
+ # MIT License #
8
+ # Created By : Marcin Szczygliński #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
+ # ================================================== #
11
+
12
+ import json
13
+ import os
14
+ import re
15
+ from datetime import datetime
16
+ from typing import Optional, List
17
+
18
+ from pygpt_net.core.render.base import BaseRenderer
19
+ from pygpt_net.core.text.utils import has_unclosed_code_tag
20
+ from pygpt_net.item.ctx import CtxItem, CtxMeta
21
+ from pygpt_net.ui.widget.textarea.input import ChatInput
22
+ from pygpt_net.utils import trans
23
+ from pygpt_net.core.tabs.tab import Tab
24
+
25
+ from .body import Body
26
+ from .helpers import Helpers
27
+ from .parser import Parser
28
+ from .pid import PidData
29
+
30
+
31
+ class Renderer(BaseRenderer):
32
+ NODE_INPUT = 0
33
+ NODE_OUTPUT = 1
34
+
35
+ def __init__(self, window=None):
36
+ super(Renderer, self).__init__(window)
37
+ """
38
+ WebEngine renderer
39
+
40
+ :param window: Window instance
41
+ """
42
+ self.window = window
43
+ self.body = Body(window)
44
+ self.helpers = Helpers(window)
45
+ self.parser = Parser(window)
46
+ self.pids = {} # per node data
47
+
48
+ def prepare(self):
49
+ """
50
+ Prepare renderer
51
+ """
52
+ self.pids = {}
53
+
54
+ def on_load(self, meta: CtxMeta = None):
55
+ """
56
+ On load (meta) event
57
+
58
+ :param meta: context meta
59
+ """
60
+ node = self.get_output_node(meta)
61
+ node.set_meta(meta)
62
+ self.reset(meta)
63
+
64
+ def on_page_loaded(
65
+ self,
66
+ meta: Optional[CtxMeta] = None,
67
+ tab: Optional[Tab] = None
68
+ ):
69
+ """
70
+ On page loaded callback from WebEngine widget
71
+
72
+ :param meta: context meta
73
+ :param tab: Tab
74
+ """
75
+ if meta is None:
76
+ return
77
+ pid = tab.pid
78
+ if pid is None or pid not in self.pids:
79
+ return
80
+ self.pids[pid].loaded = True
81
+ if self.pids[pid].html != "" and not self.pids[pid].use_buffer:
82
+ self.clear_chunks_input(pid)
83
+ self.clear_chunks_output(pid)
84
+ self.clear_nodes(pid)
85
+ self.append(pid, self.pids[pid].html, flush=True)
86
+ self.pids[pid].html = ""
87
+
88
+ def get_pid(self, meta: CtxMeta):
89
+ """
90
+ Get PID for context meta
91
+
92
+ :param meta: context PID
93
+ """
94
+ return self.window.core.ctx.output.get_pid(meta)
95
+
96
+ def get_or_create_pid(self, meta: CtxMeta):
97
+ """
98
+ Get PID for context meta and create PID data (if not exists)
99
+
100
+ :param meta: context PID
101
+ """
102
+ if meta is not None:
103
+ pid = self.get_pid(meta)
104
+ if pid not in self.pids:
105
+ self.pid_create(pid, meta)
106
+ return pid
107
+
108
+ def pid_create(
109
+ self,
110
+ pid: Optional[int],
111
+ meta: CtxMeta
112
+ ):
113
+ """
114
+ Create PID data
115
+
116
+ :param pid: PID
117
+ :param meta: context meta
118
+ """
119
+ if pid is not None:
120
+ self.pids[pid] = PidData(pid, meta)
121
+
122
+ def init(self, pid: Optional[int]):
123
+ """
124
+ Initialize renderer
125
+
126
+ :param pid: context PID
127
+ """
128
+ if pid in self.pids and not self.pids[pid].initialized:
129
+ self.flush(pid)
130
+ self.pids[pid].initialized = True
131
+ else:
132
+ self.clear_chunks(pid)
133
+
134
+ def begin(
135
+ self,
136
+ meta: CtxMeta,
137
+ ctx: CtxItem,
138
+ stream: bool = False
139
+ ):
140
+ """
141
+ Render begin
142
+
143
+ :param meta: context meta
144
+ :param ctx: context item
145
+ :param stream: True if it is a stream
146
+ """
147
+ pid = self.get_or_create_pid(meta)
148
+ self.init(pid)
149
+ self.reset_names(meta)
150
+ self.tool_output_end() # reset tools
151
+
152
+ def end(
153
+ self,
154
+ meta: CtxMeta,
155
+ ctx: CtxItem,
156
+ stream: bool = False
157
+ ):
158
+ """
159
+ Render end
160
+
161
+ :param meta: context meta
162
+ :param ctx: context item
163
+ :param stream: True if it is a stream
164
+ """
165
+ pid = self.get_or_create_pid(meta)
166
+ if pid is None:
167
+ return
168
+ if self.pids[pid].item is not None and stream:
169
+ self.append_context_item(meta, self.pids[pid].item)
170
+ self.pids[pid].item = None
171
+
172
+ def end_extra(
173
+ self,
174
+ meta: CtxMeta,
175
+ ctx: CtxItem,
176
+ stream: bool = False
177
+ ):
178
+ """
179
+ Render end extra
180
+
181
+ :param meta: context meta
182
+ :param ctx: context item
183
+ :param stream: True if it is a stream
184
+ """
185
+ self.to_end(ctx)
186
+
187
+ def stream_begin(
188
+ self,
189
+ meta: CtxMeta,
190
+ ctx: CtxItem
191
+ ):
192
+ """
193
+ Render stream begin
194
+
195
+ :param meta: context meta
196
+ :param ctx: context item
197
+ """
198
+ pass
199
+
200
+ def stream_end(
201
+ self,
202
+ meta: CtxMeta,
203
+ ctx: CtxItem
204
+ ):
205
+ """
206
+ Render stream end
207
+
208
+ :param meta: context meta
209
+ :param ctx: context item
210
+ """
211
+ pid = self.get_or_create_pid(meta)
212
+ if self.window.controller.agent.legacy.enabled():
213
+ if self.pids[pid].item is not None:
214
+ self.append_context_item(meta, self.pids[pid].item)
215
+ self.pids[pid].item = None
216
+
217
+ def append_context(
218
+ self,
219
+ meta: CtxMeta,
220
+ items: List[CtxItem],
221
+ clear: bool = True
222
+ ):
223
+ """
224
+ Append all context to output
225
+
226
+ :param meta: Context meta
227
+ :param items: context items
228
+ :param clear: True if clear all output before append
229
+ """
230
+ if len(items) == 0:
231
+ if meta is None:
232
+ return
233
+
234
+ pid = self.get_or_create_pid(meta)
235
+ self.init(pid)
236
+
237
+ if clear:
238
+ self.reset(meta)
239
+ i = 0
240
+
241
+ self.pids[pid].use_buffer = True
242
+ self.pids[pid].html = ""
243
+ prev_ctx = None
244
+ for item in items:
245
+ self.update_names(meta, item)
246
+ item.idx = i
247
+ if i == 0:
248
+ item.first = True
249
+ next_item = items[i + 1] if i + 1 < len(items) else None # append next item if exists
250
+ self.append_context_item(
251
+ meta,
252
+ item,
253
+ prev_ctx=prev_ctx,
254
+ next_ctx=next_item
255
+ ) # to html buffer
256
+ prev_ctx = item
257
+ i += 1
258
+ self.pids[pid].use_buffer = False
259
+
260
+ # flush
261
+ if self.pids[pid].html != "":
262
+ self.append(
263
+ pid,
264
+ self.pids[pid].html,
265
+ flush=True
266
+ ) # flush buffer if page loaded, otherwise it will be flushed on page load
267
+
268
+ def append_input(
269
+ self, meta: CtxMeta,
270
+ ctx: CtxItem,
271
+ flush: bool = True,
272
+ append: bool = False
273
+ ):
274
+ """
275
+ Append text input to output
276
+
277
+ :param meta: context meta
278
+ :param ctx: context item
279
+ :param flush: flush HTML
280
+ :param append: True if force append node
281
+ """
282
+ self.tool_output_end() # reset tools
283
+ pid = self.get_or_create_pid(meta)
284
+ if not flush:
285
+ self.clear_chunks_input(pid)
286
+
287
+ self.update_names(meta, ctx)
288
+ if ctx.input is None or ctx.input == "":
289
+ return
290
+
291
+ text = ctx.input
292
+
293
+ # hidden internal call
294
+ if ctx.internal \
295
+ and not ctx.first \
296
+ and not ctx.input.strip().startswith("user: ") \
297
+ and not ctx.input.strip().startswith("@"): # expert says:
298
+ return
299
+ else:
300
+ # don't show user prefix if provided in internal call goal update
301
+ if ctx.internal and ctx.input.startswith("user: "):
302
+ text = re.sub(r'^user: ', '> ', ctx.input)
303
+
304
+ if flush: # to chunk buffer
305
+ if self.is_stream() and not append:
306
+ content = self.prepare_node(meta, ctx, text.strip(), self.NODE_INPUT)
307
+ self.append_chunk_input(meta, ctx, content, False)
308
+ return
309
+
310
+ self.append_node(meta, ctx, text.strip(), self.NODE_INPUT)
311
+
312
+ def append_output(
313
+ self,
314
+ meta: CtxMeta,
315
+ ctx: CtxItem,
316
+ flush: bool = True,
317
+ prev_ctx: Optional[CtxItem] = None,
318
+ next_ctx: Optional[CtxItem] = None
319
+ ):
320
+ """
321
+ Append text output to output
322
+
323
+ :param meta: context meta
324
+ :param ctx: context item
325
+ :param flush: flush HTML
326
+ :param prev_ctx: previous context
327
+ :param next_ctx: next context
328
+ """
329
+ self.tool_output_end() # reset tools
330
+ if ctx.output is None or ctx.output == "":
331
+ return
332
+ self.append_node(
333
+ meta=meta,
334
+ ctx=ctx,
335
+ html=ctx.output.strip(),
336
+ type=self.NODE_OUTPUT,
337
+ prev_ctx=prev_ctx,
338
+ next_ctx=next_ctx
339
+ )
340
+
341
+ def append_chunk(
342
+ self,
343
+ meta: CtxMeta,
344
+ ctx: CtxItem,
345
+ text_chunk: str,
346
+ begin: bool = False
347
+ ):
348
+ """
349
+ Append output chunk to output
350
+
351
+ :param meta: context meta
352
+ :param ctx: context item
353
+ :param text_chunk: text chunk
354
+ :param begin: if it is the beginning of the text
355
+ """
356
+ pid = self.get_or_create_pid(meta)
357
+ self.pids[pid].item = ctx
358
+ if text_chunk is None or text_chunk == "":
359
+ if begin:
360
+ self.pids[pid].buffer = "" # always reset buffer
361
+ return
362
+
363
+ self.update_names(meta, ctx)
364
+ raw_chunk = str(text_chunk)
365
+ if begin:
366
+ # debug
367
+ debug = ""
368
+ if self.is_debug():
369
+ debug = self.append_debug(ctx, pid, "stream")
370
+ if debug:
371
+ raw_chunk = debug + raw_chunk
372
+ self.pids[pid].buffer = "" # reset buffer
373
+ self.pids[pid].is_cmd = False # reset command flag
374
+ self.clear_chunks_output(pid)
375
+ self.pids[pid].buffer += raw_chunk
376
+
377
+ """
378
+ # cooldown (throttling) to prevent high CPU usage on huge text chunks
379
+ if len(self.buffer) > self.throttling_min_chars:
380
+ current_time = time.time()
381
+ if current_time - self.last_time_called <= self.cooldown:
382
+ return # wait a moment
383
+ else:
384
+ self.last_time_called = current_time
385
+ """
386
+
387
+ # parse chunks
388
+ to_append = self.pids[pid].buffer
389
+ if has_unclosed_code_tag(self.pids[pid].buffer):
390
+ to_append += "\n```" # fix for code block without closing ```
391
+ html = self.parser.parse(to_append)
392
+ escaped_chunk = json.dumps(html)
393
+ try:
394
+ self.get_output_node(meta).page().runJavaScript(
395
+ f"replaceOutput('{self.pids[pid].name_bot}', {escaped_chunk});")
396
+ except Exception as e:
397
+ pass
398
+
399
+ def append_chunk_input(
400
+ self,
401
+ meta: CtxMeta,
402
+ ctx: CtxItem,
403
+ text_chunk: str,
404
+ begin: bool = False
405
+ ):
406
+ """
407
+ Append output chunk to output
408
+
409
+ :param meta: context meta
410
+ :param ctx: context item
411
+ :param text_chunk: text chunk
412
+ :param begin: if it is the beginning of the text
413
+ """
414
+ if text_chunk is None or text_chunk == "":
415
+ return
416
+ if ctx.hidden:
417
+ return
418
+
419
+ pid = self.get_or_create_pid(meta)
420
+ self.clear_chunks_input(pid)
421
+ chunk = self.helpers.format_chunk(text_chunk)
422
+ escaped_chunk = json.dumps(chunk)
423
+ try:
424
+ self.get_output_node(meta).page().runJavaScript(f"appendToInput({escaped_chunk});")
425
+ except Exception as e:
426
+ pass
427
+
428
+ def append_node(
429
+ self,
430
+ meta: CtxMeta,
431
+ ctx: CtxItem,
432
+ html: str,
433
+ type: int = 1,
434
+ prev_ctx: Optional[CtxItem] = None,
435
+ next_ctx: Optional[CtxItem] = None
436
+ ):
437
+ """
438
+ Append and format raw text to output
439
+
440
+ :param meta: context meta
441
+ :param html: text to append
442
+ :param type: type of message
443
+ :param ctx: CtxItem instance
444
+ :param prev_ctx: previous context item
445
+ :param next_ctx: next context item
446
+ """
447
+ if ctx.hidden:
448
+ return
449
+
450
+ pid = self.get_or_create_pid(meta)
451
+ self.append(
452
+ pid,
453
+ self.prepare_node(
454
+ meta=meta,
455
+ ctx=ctx,
456
+ html=html,
457
+ type=type,
458
+ prev_ctx=prev_ctx,
459
+ next_ctx=next_ctx
460
+ )
461
+ )
462
+
463
+ def append(
464
+ self,
465
+ pid,
466
+ html: str,
467
+ flush: bool = False
468
+ ):
469
+ """
470
+ Append text to output
471
+
472
+ :param pid: ctx pid
473
+ :param html: HTML code
474
+ :param flush: True if flush only
475
+ """
476
+ if self.pids[pid].loaded and not self.pids[pid].use_buffer:
477
+ self.clear_chunks(pid)
478
+ self.flush_output(pid, html) # render
479
+ self.pids[pid].html = ""
480
+ else:
481
+ if not flush:
482
+ self.pids[pid].html += html # to buffer
483
+
484
+ def append_context_item(
485
+ self,
486
+ meta: CtxMeta,
487
+ ctx: CtxItem,
488
+ prev_ctx: Optional[CtxItem] = None,
489
+ next_ctx: Optional[CtxItem] = None
490
+ ):
491
+ """
492
+ Append context item to output
493
+
494
+ :param meta: context meta
495
+ :param ctx: context item
496
+ :param prev_ctx: previous context item
497
+ :param next_ctx: next context item
498
+ """
499
+ self.append_input(
500
+ meta,
501
+ ctx,
502
+ flush=False
503
+ )
504
+ self.append_output(
505
+ meta,
506
+ ctx,
507
+ flush=False,
508
+ prev_ctx=prev_ctx,
509
+ next_ctx=next_ctx
510
+ ) # + extra
511
+
512
+ def append_extra(
513
+ self,
514
+ meta: CtxMeta,
515
+ ctx: CtxItem,
516
+ footer: bool = False,
517
+ render: bool = True
518
+ ) -> str:
519
+ """
520
+ Append extra data (images, files, etc.) to output
521
+
522
+ :param meta: context meta
523
+ :param ctx: context item
524
+ :param footer: True if it is a footer
525
+ :param render: True if render, False if only return HTML
526
+ :return: HTML code
527
+ """
528
+ self.tool_output_end() # reset tools
529
+
530
+ pid = self.get_pid(meta)
531
+ appended = []
532
+ html = ""
533
+ # images
534
+ c = len(ctx.images)
535
+ if c > 0:
536
+ n = 1
537
+ for image in ctx.images:
538
+ if image is None:
539
+ continue
540
+ # don't append if it is an external url
541
+ # if image.startswith("http"):
542
+ # continue
543
+ if image in appended or image in self.pids[pid].images_appended:
544
+ continue
545
+ try:
546
+ appended.append(image)
547
+ html += self.body.get_image_html(image, n, c)
548
+ self.pids[pid].images_appended.append(image)
549
+ n += 1
550
+ except Exception as e:
551
+ pass
552
+
553
+ # files and attachments, TODO check attachments
554
+ c = len(ctx.files)
555
+ if c > 0:
556
+ files_html = []
557
+ n = 1
558
+ for file in ctx.files:
559
+ if file in appended or file in self.pids[pid].files_appended:
560
+ continue
561
+ try:
562
+ appended.append(file)
563
+ files_html.append(self.body.get_file_html(file, n, c))
564
+ self.pids[pid].files_appended.append(file)
565
+ n += 1
566
+ except Exception as e:
567
+ pass
568
+ if files_html:
569
+ html += "<br/>" + "<br/>".join(files_html)
570
+
571
+ # urls
572
+ c = len(ctx.urls)
573
+ if c > 0:
574
+ urls_html = []
575
+ n = 1
576
+ for url in ctx.urls:
577
+ if url in appended or url in self.pids[pid].urls_appended:
578
+ continue
579
+ try:
580
+ appended.append(url)
581
+ urls_html.append(self.body.get_url_html(url, n, c))
582
+ self.pids[pid].urls_appended.append(url)
583
+ n += 1
584
+ except Exception as e:
585
+ pass
586
+ if urls_html:
587
+ html += "<br/>" + "<br/>".join(urls_html)
588
+
589
+ # docs json
590
+ if self.window.core.config.get('ctx.sources'):
591
+ if ctx.doc_ids is not None and len(ctx.doc_ids) > 0:
592
+ try:
593
+ docs = self.body.get_docs_html(ctx.doc_ids)
594
+ html += docs
595
+ except Exception as e:
596
+ pass
597
+ # flush
598
+ if render and html != "":
599
+ if footer:
600
+ # append to output
601
+ self.append(pid, html)
602
+ else:
603
+ # append to existing message box using JS
604
+ escaped_html = json.dumps(html)
605
+ self.get_output_node(meta).page().runJavaScript("appendExtra('{}',{});".format(ctx.id, escaped_html))
606
+
607
+ return html
608
+
609
+ def append_timestamp(
610
+ self,
611
+ ctx: CtxItem,
612
+ text: str,
613
+ type: Optional[int] = None
614
+ ) -> str:
615
+ """
616
+ Append timestamp to text
617
+
618
+ :param ctx: context item
619
+ :param text: Input text
620
+ :param type: Type of message
621
+ :return: Text with timestamp (if enabled)
622
+ """
623
+ if ctx is not None and ctx.input_timestamp is not None:
624
+ timestamp = None
625
+ if type == self.NODE_INPUT:
626
+ timestamp = ctx.input_timestamp
627
+ elif type == self.NODE_OUTPUT:
628
+ timestamp = ctx.output_timestamp
629
+ if timestamp is not None:
630
+ ts = datetime.fromtimestamp(timestamp)
631
+ hour = ts.strftime("%H:%M:%S")
632
+ text = '<span class="ts">{}: </span>{}'.format(hour, text)
633
+ return text
634
+
635
+ def reset(
636
+ self,
637
+ meta: Optional[CtxMeta] = None
638
+ ):
639
+ """
640
+ Reset
641
+
642
+ :param meta: Context meta
643
+ """
644
+ pid = self.get_pid(meta)
645
+ if pid is not None and pid in self.pids: # in PIDs only if at least one ctx item is appended
646
+ self.reset_by_pid(pid)
647
+ else:
648
+ # there is no pid here if empty context so check for meta, and clear current
649
+ if meta is not None:
650
+ # create new PID using only meta
651
+ pid = self.get_or_create_pid(meta)
652
+ self.reset_by_pid(pid)
653
+
654
+ def reset_by_pid(self, pid: Optional[int]):
655
+ """
656
+ Reset by PID
657
+
658
+ :param pid: context PID
659
+ """
660
+ self.parser.reset()
661
+ self.pids[pid].item = None
662
+ self.pids[pid].html = ""
663
+ self.clear_nodes(pid)
664
+ self.clear_chunks(pid)
665
+ self.pids[pid].images_appended = []
666
+ self.pids[pid].urls_appended = []
667
+ self.pids[pid].files_appended = []
668
+ self.get_output_node_by_pid(pid).reset_current_content()
669
+ self.reset_names_by_pid(pid)
670
+
671
+ def clear_input(self):
672
+ """Clear input"""
673
+ self.get_input_node().clear()
674
+
675
+ def clear_output(
676
+ self,
677
+ meta: Optional[CtxMeta] = None
678
+ ):
679
+ """
680
+ Clear output
681
+
682
+ :param meta: Context meta
683
+ """
684
+ self.reset(meta)
685
+
686
+ def clear_chunks(self, pid):
687
+ """
688
+ Clear chunks from output
689
+
690
+ :param pid: context PID
691
+ """
692
+ if pid is None:
693
+ return
694
+ self.clear_chunks_input(pid)
695
+ self.clear_chunks_output(pid)
696
+
697
+ def clear_chunks_input(
698
+ self,
699
+ pid: Optional[int]
700
+ ):
701
+ """
702
+ Clear chunks from input
703
+
704
+ :pid: context PID
705
+ """
706
+ if pid is None:
707
+ return
708
+ if not self.pids[pid].loaded:
709
+ js = "var element = document.getElementById('_append_input_');"
710
+ js += "if (element) { element.innerHTML = ''; }"
711
+ else:
712
+ js = "clearInput();"
713
+ try:
714
+ self.get_output_node_by_pid(pid).page().runJavaScript(js)
715
+ except Exception as e:
716
+ pass
717
+
718
+ def clear_chunks_output(
719
+ self,
720
+ pid: Optional[int]
721
+ ):
722
+ """
723
+ Clear chunks from output
724
+
725
+ :pid: context PID
726
+ """
727
+ if not self.pids[pid].loaded:
728
+ js = "var element = document.getElementById('_append_output_');"
729
+ js += "if (element) { element.innerHTML = ''; }"
730
+ else:
731
+ js = "clearOutput();"
732
+ try:
733
+ self.get_output_node_by_pid(pid).page().runJavaScript(js)
734
+ except Exception as e:
735
+ pass
736
+
737
+ def clear_nodes(
738
+ self,
739
+ pid: Optional[int]
740
+ ):
741
+ """
742
+ Clear nodes from output
743
+
744
+ :pid: context PID
745
+ """
746
+ if not self.pids[pid].loaded:
747
+ js = "var element = document.getElementById('_nodes_');"
748
+ js += "if (element) { element.innerHTML = ''; }"
749
+ else:
750
+ js = "clearNodes();"
751
+ try:
752
+ self.get_output_node_by_pid(pid).page().runJavaScript(js)
753
+ except Exception as e:
754
+ pass
755
+
756
+ def prepare_node(
757
+ self,
758
+ meta: CtxMeta,
759
+ ctx: CtxItem,
760
+ html: str,
761
+ type: int = 1,
762
+ prev_ctx: Optional[CtxItem] = None,
763
+ next_ctx: Optional[CtxItem] = None
764
+ ) -> str:
765
+ """
766
+ Prepare node HTML
767
+
768
+ :param meta: context meta
769
+ :param ctx: CtxItem instance
770
+ :param html: html text
771
+ :param type: type of message
772
+ :param prev_ctx: previous context item
773
+ :param next_ctx: next context item
774
+ :return: prepared HTML
775
+ """
776
+ pid = self.get_or_create_pid(meta)
777
+ if type == self.NODE_OUTPUT:
778
+ return self.prepare_node_output(
779
+ meta=meta,
780
+ ctx=ctx,
781
+ html=html,
782
+ prev_ctx=prev_ctx,
783
+ next_ctx=next_ctx
784
+ )
785
+ elif type == self.NODE_INPUT:
786
+ return self.prepare_node_input(
787
+ pid=pid,
788
+ ctx=ctx,
789
+ html=html,
790
+ prev_ctx=prev_ctx,
791
+ next_ctx=next_ctx
792
+ )
793
+
794
+ def prepare_node_input(
795
+ self,
796
+ pid,
797
+ ctx: CtxItem,
798
+ html: str,
799
+ prev_ctx: Optional[CtxItem] = None,
800
+ next_ctx: Optional[CtxItem] = None
801
+ ) -> str:
802
+ """
803
+ Prepare input node
804
+
805
+ :param pid: context PID
806
+ :param ctx: CtxItem instance
807
+ :param html: html text
808
+ :param prev_ctx: previous context item
809
+ :param next_ctx: next context item
810
+ :return: prepared HTML
811
+ """
812
+ msg_id = "msg-user-" + str(ctx.id) if ctx is not None else ""
813
+ content = self.append_timestamp(
814
+ ctx,
815
+ self.helpers.format_user_text(html),
816
+ type=self.NODE_INPUT
817
+ )
818
+ html = "<p>" + content + "</p>"
819
+ html = self.helpers.post_format_text(html)
820
+ name = self.pids[pid].name_user
821
+
822
+ if ctx.internal and ctx.input.startswith("[{"):
823
+ name = trans("msg.name.system")
824
+ if type(ctx.extra) is dict and "agent_evaluate" in ctx.extra:
825
+ name = trans("msg.name.evaluation")
826
+
827
+ # debug
828
+ debug = ""
829
+ if self.is_debug():
830
+ debug = self.append_debug(ctx, pid, "input")
831
+
832
+ extra = ""
833
+ if ctx.extra is not None and "footer" in ctx.extra:
834
+ extra = ctx.extra["footer"]
835
+ html = (
836
+ '<div class="msg-box msg-user" id="{msg_id}">'
837
+ '<div class="name-header name-user">{name}</div>'
838
+ '<div class="msg">'
839
+ '{html}'
840
+ '<div class="msg-extra">{extra}</div>'
841
+ '{debug}'
842
+ '</div>'
843
+ '</div>'
844
+ ).format(
845
+ msg_id=msg_id,
846
+ name=name,
847
+ html=html,
848
+ extra=extra,
849
+ debug=debug,
850
+ )
851
+
852
+ return html
853
+
854
+ def prepare_node_output(
855
+ self,
856
+ meta: CtxMeta,
857
+ ctx: CtxItem,
858
+ html: str,
859
+ prev_ctx: Optional[CtxItem] = None,
860
+ next_ctx: Optional[CtxItem] = None
861
+ ) -> str:
862
+ """
863
+ Prepare output node
864
+
865
+ :param meta: context meta
866
+ :param ctx: CtxItem instance
867
+ :param html: html text
868
+ :param prev_ctx: previous context item
869
+ :param next_ctx: next context item
870
+ :return: prepared HTML
871
+ """
872
+ is_cmd = False
873
+ if (
874
+ next_ctx is not None and
875
+ next_ctx.internal and
876
+ (len(ctx.cmds) > 0 or (ctx.extra_ctx is not None and len(ctx.extra_ctx) > 0))
877
+ ):
878
+ is_cmd = True
879
+ pid = self.get_or_create_pid(meta)
880
+ msg_id = "msg-bot-" + str(ctx.id) if ctx is not None else ""
881
+ # if is_cmd:
882
+ # html = self.helpers.format_cmd_text(html)
883
+ html = self.helpers.pre_format_text(html)
884
+ html = self.append_timestamp(ctx, html, type=self.NODE_OUTPUT)
885
+ html = self.parser.parse(html)
886
+ html = self.helpers.post_format_text(html)
887
+ extra = self.append_extra(meta, ctx, footer=True, render=False)
888
+ footer = self.body.prepare_action_icons(ctx)
889
+
890
+ # append tool output
891
+ tool_output = ""
892
+ spinner = ""
893
+ icon = os.path.join(
894
+ self.window.core.config.get_app_path(),
895
+ "data", "icons", "expand.svg"
896
+ )
897
+ output_class = "display:none"
898
+ cmd_icon = (
899
+ '<img src="file://{}" width="25" height="25" valign="middle">'
900
+ .format(icon)
901
+ )
902
+ expand_btn = (
903
+ "<span class='toggle-cmd-output' onclick='toggleToolOutput({});' "
904
+ "role='button'>{} {}</span>"
905
+ .format(str(ctx.id), cmd_icon, trans('action.cmd.expand'))
906
+ )
907
+
908
+ # check if next ctx is internal and current ctx has commands
909
+ if is_cmd:
910
+ # first, check current input if agent step and results
911
+ if ctx.results is not None and len(ctx.results) > 0 \
912
+ and isinstance(ctx.extra, dict) and "agent_step" in ctx.extra:
913
+ tool_output = self.helpers.format_cmd_text(str(ctx.input))
914
+ output_class = "" # show tool output
915
+ else:
916
+ # get output from next input (JSON response)
917
+ tool_output = self.helpers.format_cmd_text(str(next_ctx.input))
918
+ output_class = "" # show tool output
919
+
920
+ # check if agent step and results in current ctx
921
+ elif ctx.results is not None and len(ctx.results) > 0 \
922
+ and isinstance(ctx.extra, dict) and "agent_step" in ctx.extra:
923
+ tool_output = self.helpers.format_cmd_text(str(ctx.input))
924
+ else:
925
+ # loading spinner
926
+ if (
927
+ next_ctx is None and
928
+ (
929
+ ctx.output.startswith("~###~{\"cmd\"") or
930
+ ctx.output.strip().endswith("}~###~") or
931
+ len(ctx.cmds) > 0
932
+ )
933
+ ):
934
+ spinner_class = "display:none" # hide by default
935
+ if ctx.live:
936
+ spinner_class = "" # show spinner only if commands and active run
937
+ icon = os.path.join(
938
+ self.window.core.config.get_app_path(),
939
+ "data", "icons", "sync.svg"
940
+ )
941
+ spinner = (
942
+ '<span class="spinner" style="{}">'
943
+ '<img src="file://{}" width="30" height="30" '
944
+ 'class="loading"></span>'
945
+ .format(spinner_class, icon)
946
+ )
947
+
948
+ html_tools = (
949
+ spinner +
950
+ '<div class="tool-output" style="{}">'.format(output_class) +
951
+ expand_btn +
952
+ '<div class="content" style="display:none">' +
953
+ tool_output +
954
+ '</div></div>'
955
+ )
956
+ tool_extra = self.body.prepare_tool_extra(ctx)
957
+
958
+ # debug
959
+ debug = ""
960
+ if self.is_debug():
961
+ debug = self.append_debug(ctx, pid, "output")
962
+
963
+ html = (
964
+ '<div class="msg-box msg-bot" id="{msg_id}">'
965
+ '<div class="name-header name-bot">{name_bot}</div>'
966
+ '<div class="msg">'
967
+ '{html}'
968
+ '<div class="msg-tool-extra">{tool_extra}</div>'
969
+ '{html_tools}'
970
+ '<div class="msg-extra">{extra}</div>'
971
+ '{footer}'
972
+ '{debug}'
973
+ '</div>'
974
+ '</div>'
975
+ ).format(
976
+ msg_id=msg_id,
977
+ name_bot=self.pids[pid].name_bot,
978
+ html=html,
979
+ html_tools=html_tools,
980
+ extra=extra,
981
+ footer=footer,
982
+ tool_extra=tool_extra,
983
+ debug=debug,
984
+ )
985
+
986
+ return html
987
+
988
+ def flush_output(
989
+ self,
990
+ pid: Optional[int],
991
+ html: str
992
+ ):
993
+ """
994
+ Flush output
995
+
996
+ :param pid: context PID
997
+ :param html: HTML code
998
+ """
999
+ escaped_html = json.dumps(html)
1000
+ try:
1001
+ node = self.get_output_node_by_pid(pid)
1002
+ node.page().runJavaScript(f"appendNode({escaped_html});")
1003
+ node.update_current_content()
1004
+ except Exception as e:
1005
+ pass
1006
+
1007
+ def reload(self):
1008
+ """Reload output, called externally only on theme change to redraw content"""
1009
+ self.window.controller.ctx.refresh_output() # if clear all and appends all items again
1010
+
1011
+ def flush(
1012
+ self,
1013
+ pid:
1014
+ Optional[int]
1015
+ ):
1016
+ """
1017
+ Flush output
1018
+
1019
+ :param pid: context PID
1020
+ """
1021
+ if self.pids[pid].loaded:
1022
+ return # wait for page load
1023
+
1024
+ html = self.body.get_html(pid)
1025
+ self.pids[pid].document = html
1026
+ self.get_output_node_by_pid(pid).setHtml(html, baseUrl="file://")
1027
+
1028
+ def get_output_node(
1029
+ self,
1030
+ meta: Optional[CtxMeta] = None
1031
+ ):
1032
+ """
1033
+ Get output node
1034
+
1035
+ :param meta: context meta
1036
+ :return: output node
1037
+ """
1038
+ return self.window.core.ctx.output.get_current(meta)
1039
+
1040
+ def get_output_node_by_pid(
1041
+ self,
1042
+ pid: Optional[int]
1043
+ ):
1044
+ """
1045
+ Get output node by PID
1046
+
1047
+ :param pid: context pid
1048
+ :return: output node
1049
+ """
1050
+ return self.window.core.ctx.output.get_by_pid(pid)
1051
+
1052
+ def get_input_node(self) -> ChatInput:
1053
+ """
1054
+ Get input node
1055
+
1056
+ :return: input node
1057
+ """
1058
+ return self.window.ui.nodes['input']
1059
+
1060
+ def get_document(
1061
+ self,
1062
+ plain: bool = False
1063
+ ):
1064
+ """
1065
+ Get document content (plain or HTML)
1066
+
1067
+ :param plain: True to convert to plain text
1068
+ :return: document content
1069
+ """
1070
+ pid = self.window.core.ctx.container.get_active_pid()
1071
+ if pid is None:
1072
+ return ""
1073
+ if plain:
1074
+ return self.parser.to_plain_text(self.pids[pid].document.replace("<br>", "\n"))
1075
+ return self.pids[pid].document
1076
+
1077
+ def remove_item(self, ctx: CtxItem):
1078
+ """
1079
+ Remove item from output
1080
+
1081
+ :param ctx: context item
1082
+ """
1083
+ try:
1084
+ self.get_output_node(ctx.meta).page().runJavaScript("removeNode({});".format(ctx.id))
1085
+ except Exception as e:
1086
+ pass
1087
+
1088
+ def remove_items_from(self, ctx: CtxItem):
1089
+ """
1090
+ Remove item from output
1091
+
1092
+ :param ctx: context item
1093
+ """
1094
+ try:
1095
+ self.get_output_node(ctx.meta).page().runJavaScript("removeNodesFromId({});".format(ctx.id))
1096
+ except Exception as e:
1097
+ pass
1098
+
1099
+ def reset_names(self, meta: CtxMeta):
1100
+ """
1101
+ Reset names
1102
+
1103
+ :param meta: context meta
1104
+ """
1105
+ if meta is None:
1106
+ return
1107
+ pid = self.get_or_create_pid(meta)
1108
+ self.reset_names_by_pid(pid)
1109
+
1110
+ def reset_names_by_pid(self, pid: int):
1111
+ """
1112
+ Reset names by PID
1113
+
1114
+ :param pid: context pid
1115
+ """
1116
+ self.pids[pid].name_user = trans("chat.name.user")
1117
+ self.pids[pid].name_bot = trans("chat.name.bot")
1118
+
1119
+ def on_reply_submit(self, ctx: CtxItem):
1120
+ """
1121
+ On regenerate submit
1122
+
1123
+ :param ctx: context item
1124
+ """
1125
+ # remove all items from ID
1126
+ self.remove_items_from(ctx)
1127
+
1128
+ def on_edit_submit(self, ctx: CtxItem):
1129
+ """
1130
+ On regenerate submit
1131
+
1132
+ :param ctx: context item
1133
+ """
1134
+ # remove all items from ID
1135
+ self.remove_items_from(ctx)
1136
+
1137
+ def on_enable_edit(self, live: bool = True):
1138
+ """
1139
+ On enable edit icons
1140
+
1141
+ :param live: True if live update
1142
+ """
1143
+ if not live:
1144
+ return
1145
+ try:
1146
+ nodes = self.get_all_nodes()
1147
+ for node in nodes:
1148
+ node.page().runJavaScript("enableEditIcons();")
1149
+ except Exception as e:
1150
+ pass
1151
+
1152
+ def on_disable_edit(self, live: bool = True):
1153
+ """
1154
+ On disable edit icons
1155
+
1156
+ :param live: True if live update
1157
+ """
1158
+ if not live:
1159
+ return
1160
+ try:
1161
+ nodes = self.get_all_nodes()
1162
+ for node in nodes:
1163
+ node.page().runJavaScript("disableEditIcons();")
1164
+ except Exception as e:
1165
+ pass
1166
+
1167
+ def on_enable_timestamp(self, live: bool = True):
1168
+ """
1169
+ On enable timestamp
1170
+
1171
+ :param live: True if live update
1172
+ """
1173
+ if not live:
1174
+ return
1175
+ try:
1176
+ nodes = self.get_all_nodes()
1177
+ for node in nodes:
1178
+ node.page().runJavaScript("enableTimestamp();")
1179
+ except Exception as e:
1180
+ pass
1181
+
1182
+ def on_disable_timestamp(self, live: bool = True):
1183
+ """
1184
+ On disable timestamp
1185
+
1186
+ :param live: True if live update
1187
+ """
1188
+ if not live:
1189
+ return
1190
+ try:
1191
+ nodes = self.get_all_nodes()
1192
+ for node in nodes:
1193
+ node.page().runJavaScript("disableTimestamp();")
1194
+ except Exception as e:
1195
+ pass
1196
+
1197
+ def update_names(
1198
+ self,
1199
+ meta: CtxMeta,
1200
+ ctx: CtxItem
1201
+ ):
1202
+ """
1203
+ Update names
1204
+
1205
+ :param meta: context meta
1206
+ :param ctx: context item
1207
+ """
1208
+ pid = self.get_or_create_pid(meta)
1209
+ if ctx.input_name is not None and ctx.input_name != "":
1210
+ self.pids[pid].name_user = ctx.input_name
1211
+ if ctx.output_name is not None and ctx.output_name != "":
1212
+ self.pids[pid].name_bot = ctx.output_name
1213
+
1214
+ def clear_all(self):
1215
+ """Clear all"""
1216
+ for pid in self.pids:
1217
+ self.clear_chunks(pid)
1218
+ self.clear_nodes(pid)
1219
+ self.pids[pid].html = ""
1220
+
1221
+ def scroll_to_bottom(self):
1222
+ """Scroll to bottom"""
1223
+ pass
1224
+
1225
+ def append_block(self):
1226
+ """Append block to output"""
1227
+ pass
1228
+
1229
+ def to_end(self, ctx: CtxItem):
1230
+ """
1231
+ Move cursor to end of output
1232
+
1233
+ :param ctx: context item
1234
+ """
1235
+ pass
1236
+
1237
+ def get_all_nodes(self) -> list:
1238
+ """
1239
+ Return all registered nodes
1240
+
1241
+ :return: list of ChatOutput nodes (tabs)
1242
+ """
1243
+ return self.window.core.ctx.output.get_all()
1244
+
1245
+ # TODO: on lang change
1246
+
1247
+ def reload_css(self):
1248
+ """Reload CSS - all, global"""
1249
+ to_json = json.dumps(self.body.prepare_styles())
1250
+ nodes = self.get_all_nodes()
1251
+ for pid in self.pids:
1252
+ if self.pids[pid].loaded:
1253
+ for node in nodes:
1254
+ node.page().runJavaScript("updateCSS({});".format(to_json))
1255
+ if self.window.core.config.get('render.blocks'):
1256
+ node.page().runJavaScript("enableBlocks();")
1257
+ else:
1258
+ node.page().runJavaScript("disableBlocks();") # TODO: ctx!!!!!
1259
+ return
1260
+
1261
+ def on_theme_change(self):
1262
+ """On theme change"""
1263
+ self.window.controller.theme.markdown.load()
1264
+ for pid in self.pids:
1265
+ if self.pids[pid].loaded:
1266
+ self.reload_css()
1267
+ return
1268
+
1269
+ def tool_output_append(
1270
+ self,
1271
+ meta: CtxMeta,
1272
+ content: str
1273
+ ):
1274
+ """
1275
+ Add tool output (append)
1276
+
1277
+ :param meta: context meta
1278
+ :param content: content
1279
+ """
1280
+ escaped_content = json.dumps(content)
1281
+ try:
1282
+ self.get_output_node(meta).page().runJavaScript(f"appendToolOutput({escaped_content});")
1283
+ except Exception as e:
1284
+ pass
1285
+
1286
+ def tool_output_update(
1287
+ self,
1288
+ meta: CtxMeta,
1289
+ content: str
1290
+ ):
1291
+ """
1292
+ Replace tool output
1293
+
1294
+ :param meta: context meta
1295
+ :param content: content
1296
+ """
1297
+ escaped_content = json.dumps(content)
1298
+ try:
1299
+ self.get_output_node(meta).page().runJavaScript(f"updateToolOutput({escaped_content});")
1300
+ except Exception as e:
1301
+ pass
1302
+
1303
+ def tool_output_clear(self, meta: CtxMeta):
1304
+ """
1305
+ Clear tool output
1306
+
1307
+ :param meta: context meta
1308
+ """
1309
+ try:
1310
+ self.get_output_node(meta).page().runJavaScript(f"clearToolOutput();")
1311
+ except Exception as e:
1312
+ pass
1313
+
1314
+ def tool_output_begin(self, meta: CtxMeta):
1315
+ """
1316
+ Begin tool output
1317
+
1318
+ :param meta: context meta
1319
+ """
1320
+ try:
1321
+ self.get_output_node(meta).page().runJavaScript(f"beginToolOutput();")
1322
+ except Exception as e:
1323
+ pass
1324
+
1325
+ def tool_output_end(self):
1326
+ """End tool output"""
1327
+ try:
1328
+ self.get_output_node().page().runJavaScript(f"endToolOutput();")
1329
+ except Exception as e:
1330
+ pass
1331
+
1332
+ def append_debug(
1333
+ self,
1334
+ ctx: CtxItem,
1335
+ pid,
1336
+ title: Optional[str] = None
1337
+ ) -> str:
1338
+ """
1339
+ Append debug info
1340
+
1341
+ :param ctx: context item
1342
+ :param pid: context PID
1343
+ :param title: debug title
1344
+ """
1345
+ if title is None:
1346
+ title = "debug"
1347
+ debug = "<b>" +title+ ":</b> pid: "+str(pid)+", ctx: " + str(ctx.to_dict())
1348
+ return "<div class='debug'>" + debug + "</div>"
1349
+
1350
+ def is_debug(self) -> bool:
1351
+ """
1352
+ Check if debug mode is enabled
1353
+
1354
+ :return: True if debug mode is enabled
1355
+ """
1356
+ return self.window.core.config.get("debug.render", False)