pygpt-net 2.1.37__py3-none-any.whl → 2.4.48__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 (1868) hide show
  1. CHANGELOG.md +930 -133
  2. README.md +2229 -1137
  3. pygpt_net/CHANGELOG.txt +810 -9
  4. pygpt_net/LICENSE +1 -1
  5. pygpt_net/__init__.py +10 -4
  6. pygpt_net/app.py +77 -4
  7. pygpt_net/config.py +133 -12
  8. pygpt_net/container.py +23 -1
  9. pygpt_net/controller/__init__.py +55 -12
  10. pygpt_net/controller/access/__init__.py +81 -0
  11. pygpt_net/controller/access/control.py +410 -0
  12. pygpt_net/controller/access/voice.py +432 -0
  13. pygpt_net/controller/agent/__init__.py +21 -128
  14. pygpt_net/controller/agent/common.py +126 -0
  15. pygpt_net/controller/agent/experts.py +165 -0
  16. pygpt_net/controller/agent/legacy.py +398 -0
  17. pygpt_net/controller/agent/llama.py +154 -0
  18. pygpt_net/controller/assistant/__init__.py +75 -62
  19. pygpt_net/controller/assistant/batch.py +576 -0
  20. pygpt_net/controller/assistant/editor.py +171 -18
  21. pygpt_net/controller/assistant/files.py +115 -131
  22. pygpt_net/controller/assistant/store.py +480 -0
  23. pygpt_net/controller/assistant/threads.py +276 -58
  24. pygpt_net/controller/attachment.py +283 -65
  25. pygpt_net/controller/audio/__init__.py +158 -17
  26. pygpt_net/controller/calendar/__init__.py +38 -5
  27. pygpt_net/controller/calendar/note.py +134 -13
  28. pygpt_net/controller/camera.py +219 -100
  29. pygpt_net/controller/chat/__init__.py +73 -10
  30. pygpt_net/controller/chat/attachment.py +621 -0
  31. pygpt_net/controller/chat/audio.py +99 -0
  32. pygpt_net/controller/chat/command.py +90 -0
  33. pygpt_net/controller/chat/common.py +143 -37
  34. pygpt_net/controller/chat/files.py +28 -6
  35. pygpt_net/controller/chat/image.py +102 -145
  36. pygpt_net/controller/chat/input.py +130 -127
  37. pygpt_net/controller/chat/output.py +182 -203
  38. pygpt_net/controller/chat/render.py +542 -50
  39. pygpt_net/controller/chat/response.py +278 -0
  40. pygpt_net/controller/chat/stream.py +186 -0
  41. pygpt_net/controller/chat/text.py +167 -198
  42. pygpt_net/controller/chat/vision.py +36 -47
  43. pygpt_net/controller/command.py +39 -11
  44. pygpt_net/controller/config/__init__.py +45 -6
  45. pygpt_net/controller/config/field/checkbox.py +7 -4
  46. pygpt_net/controller/config/field/cmd.py +7 -5
  47. pygpt_net/controller/config/field/combo.py +41 -11
  48. pygpt_net/controller/config/field/dictionary.py +14 -11
  49. pygpt_net/controller/config/field/input.py +9 -6
  50. pygpt_net/controller/config/field/slider.py +12 -9
  51. pygpt_net/controller/config/field/textarea.py +8 -5
  52. pygpt_net/controller/config/placeholder.py +196 -25
  53. pygpt_net/controller/ctx/__init__.py +666 -86
  54. pygpt_net/controller/ctx/common.py +44 -23
  55. pygpt_net/controller/ctx/extra.py +76 -17
  56. pygpt_net/controller/ctx/summarizer.py +28 -6
  57. pygpt_net/controller/{debug.py → debug/__init__.py} +62 -8
  58. pygpt_net/controller/dialogs/confirm.py +194 -17
  59. pygpt_net/controller/dialogs/debug.py +10 -2
  60. pygpt_net/controller/dialogs/info.py +34 -2
  61. pygpt_net/controller/files.py +65 -13
  62. pygpt_net/controller/finder.py +175 -0
  63. pygpt_net/controller/idx/__init__.py +151 -18
  64. pygpt_net/controller/idx/common.py +11 -30
  65. pygpt_net/controller/idx/indexer.py +183 -53
  66. pygpt_net/controller/idx/settings.py +9 -3
  67. pygpt_net/controller/kernel/__init__.py +370 -0
  68. pygpt_net/controller/kernel/reply.py +171 -0
  69. pygpt_net/controller/kernel/stack.py +137 -0
  70. pygpt_net/controller/lang/__init__.py +24 -12
  71. pygpt_net/controller/lang/custom.py +46 -11
  72. pygpt_net/controller/lang/mapping.py +178 -19
  73. pygpt_net/controller/launcher.py +16 -2
  74. pygpt_net/controller/layout.py +78 -10
  75. pygpt_net/controller/mode.py +63 -24
  76. pygpt_net/controller/model/__init__.py +56 -20
  77. pygpt_net/controller/model/editor.py +9 -4
  78. pygpt_net/controller/notepad.py +132 -123
  79. pygpt_net/controller/painter/__init__.py +16 -4
  80. pygpt_net/controller/painter/capture.py +96 -22
  81. pygpt_net/controller/painter/common.py +9 -7
  82. pygpt_net/controller/plugins/__init__.py +90 -42
  83. pygpt_net/controller/plugins/presets.py +19 -10
  84. pygpt_net/controller/plugins/settings.py +12 -6
  85. pygpt_net/controller/presets/__init__.py +263 -17
  86. pygpt_net/controller/presets/editor.py +173 -41
  87. pygpt_net/controller/presets/experts.py +156 -0
  88. pygpt_net/controller/settings/__init__.py +49 -9
  89. pygpt_net/controller/settings/editor.py +132 -25
  90. pygpt_net/controller/settings/profile.py +569 -0
  91. pygpt_net/controller/settings/workdir.py +215 -0
  92. pygpt_net/controller/theme/__init__.py +86 -8
  93. pygpt_net/controller/theme/common.py +29 -5
  94. pygpt_net/controller/theme/markdown.py +74 -37
  95. pygpt_net/controller/theme/menu.py +56 -4
  96. pygpt_net/controller/theme/nodes.py +39 -12
  97. pygpt_net/controller/tools/__init__.py +91 -0
  98. pygpt_net/controller/ui/__init__.py +29 -43
  99. pygpt_net/controller/ui/mode.py +135 -35
  100. pygpt_net/controller/ui/tabs.py +687 -0
  101. pygpt_net/controller/ui/vision.py +45 -19
  102. pygpt_net/core/access/__init__.py +30 -0
  103. pygpt_net/core/access/actions.py +131 -0
  104. pygpt_net/core/access/helpers.py +234 -0
  105. pygpt_net/core/access/shortcuts.py +104 -0
  106. pygpt_net/core/access/voice.py +277 -0
  107. pygpt_net/core/agents/__init__.py +32 -0
  108. pygpt_net/core/agents/legacy.py +66 -0
  109. pygpt_net/core/agents/memory.py +80 -0
  110. pygpt_net/core/agents/observer/__init__.py +17 -0
  111. pygpt_net/core/agents/observer/evaluation.py +163 -0
  112. pygpt_net/core/agents/provider.py +68 -0
  113. pygpt_net/core/agents/runner.py +702 -0
  114. pygpt_net/core/agents/tools.py +175 -0
  115. pygpt_net/core/assistants/__init__.py +22 -141
  116. pygpt_net/core/assistants/files.py +359 -0
  117. pygpt_net/core/assistants/store.py +300 -0
  118. pygpt_net/core/{attachments.py → attachments/__init__.py} +124 -29
  119. pygpt_net/core/attachments/context.py +752 -0
  120. pygpt_net/core/attachments/worker.py +40 -0
  121. pygpt_net/core/{audio.py → audio/__init__.py} +74 -3
  122. pygpt_net/core/audio/context.py +39 -0
  123. pygpt_net/core/audio/whisper.py +37 -0
  124. pygpt_net/core/bridge/__init__.py +266 -0
  125. pygpt_net/core/bridge/context.py +113 -0
  126. pygpt_net/core/bridge/worker.py +157 -0
  127. pygpt_net/core/calendar/__init__.py +57 -11
  128. pygpt_net/core/chain/__init__.py +41 -23
  129. pygpt_net/core/chain/chat.py +55 -31
  130. pygpt_net/core/chain/completion.py +58 -34
  131. pygpt_net/core/command.py +321 -13
  132. pygpt_net/core/ctx/__init__.py +721 -70
  133. pygpt_net/core/ctx/bag.py +53 -0
  134. pygpt_net/core/ctx/container.py +142 -0
  135. pygpt_net/core/ctx/idx.py +45 -8
  136. pygpt_net/core/ctx/output.py +247 -0
  137. pygpt_net/core/ctx/reply.py +63 -0
  138. pygpt_net/core/db/__init__.py +109 -16
  139. pygpt_net/core/db/viewer.py +50 -12
  140. pygpt_net/core/debug/__init__.py +35 -14
  141. pygpt_net/core/debug/agent.py +12 -7
  142. pygpt_net/core/debug/assistants.py +10 -2
  143. pygpt_net/core/debug/attachments.py +5 -4
  144. pygpt_net/core/debug/config.py +11 -1
  145. pygpt_net/core/debug/context.py +67 -23
  146. pygpt_net/core/debug/events.py +58 -0
  147. pygpt_net/core/debug/indexes.py +3 -1
  148. pygpt_net/core/debug/kernel.py +30 -0
  149. pygpt_net/core/debug/models.py +2 -1
  150. pygpt_net/core/debug/presets.py +25 -9
  151. pygpt_net/core/debug/tabs.py +49 -0
  152. pygpt_net/core/dispatcher.py +86 -181
  153. pygpt_net/core/docker/__init__.py +410 -0
  154. pygpt_net/core/docker/builder.py +87 -0
  155. pygpt_net/core/events/__init__.py +17 -0
  156. pygpt_net/core/events/app.py +54 -0
  157. pygpt_net/core/events/base.py +73 -0
  158. pygpt_net/core/events/control.py +88 -0
  159. pygpt_net/core/events/event.py +120 -0
  160. pygpt_net/core/events/kernel.py +67 -0
  161. pygpt_net/core/events/render.py +71 -0
  162. pygpt_net/core/experts/__init__.py +501 -0
  163. pygpt_net/core/filesystem/__init__.py +257 -24
  164. pygpt_net/core/filesystem/actions.py +15 -10
  165. pygpt_net/core/filesystem/editor.py +57 -11
  166. pygpt_net/core/filesystem/packer.py +87 -0
  167. pygpt_net/core/filesystem/types.py +12 -7
  168. pygpt_net/core/filesystem/url.py +21 -1
  169. pygpt_net/core/history.py +3 -2
  170. pygpt_net/core/idx/__init__.py +125 -30
  171. pygpt_net/core/idx/chat.py +438 -83
  172. pygpt_net/core/idx/context.py +47 -7
  173. pygpt_net/core/idx/indexing.py +546 -62
  174. pygpt_net/core/idx/llm.py +42 -21
  175. pygpt_net/core/idx/metadata.py +21 -5
  176. pygpt_net/core/idx/types/ctx.py +32 -6
  177. pygpt_net/core/idx/types/external.py +41 -7
  178. pygpt_net/core/idx/types/files.py +31 -6
  179. pygpt_net/core/idx/ui/__init__.py +22 -0
  180. pygpt_net/core/idx/ui/loaders.py +217 -0
  181. pygpt_net/core/idx/worker.py +32 -3
  182. pygpt_net/core/image.py +22 -10
  183. pygpt_net/core/installer.py +2 -4
  184. pygpt_net/core/llm/__init__.py +13 -3
  185. pygpt_net/core/locale.py +43 -8
  186. pygpt_net/core/models.py +121 -17
  187. pygpt_net/core/modes.py +62 -14
  188. pygpt_net/core/notepad.py +38 -3
  189. pygpt_net/core/platforms.py +6 -3
  190. pygpt_net/core/plugins.py +59 -32
  191. pygpt_net/core/presets.py +223 -31
  192. pygpt_net/core/profile.py +280 -0
  193. pygpt_net/core/prompt/__init__.py +156 -0
  194. pygpt_net/core/prompt/custom.py +307 -0
  195. pygpt_net/core/prompt/template.py +107 -0
  196. pygpt_net/core/render/base.py +347 -32
  197. pygpt_net/core/render/markdown/__init__.py +0 -0
  198. pygpt_net/core/render/markdown/body.py +210 -0
  199. pygpt_net/core/render/markdown/helpers.py +91 -0
  200. pygpt_net/core/render/markdown/parser.py +78 -6
  201. pygpt_net/core/render/markdown/pid.py +23 -0
  202. pygpt_net/core/render/markdown/renderer.py +405 -383
  203. pygpt_net/core/render/plain/body.py +130 -0
  204. pygpt_net/core/render/plain/helpers.py +60 -0
  205. pygpt_net/core/render/plain/pid.py +22 -0
  206. pygpt_net/core/render/plain/renderer.py +281 -231
  207. pygpt_net/core/render/web/__init__.py +10 -0
  208. pygpt_net/core/render/web/body.py +800 -0
  209. pygpt_net/core/render/web/helpers.py +102 -0
  210. pygpt_net/core/render/web/parser.py +297 -0
  211. pygpt_net/core/render/web/pid.py +36 -0
  212. pygpt_net/core/render/web/renderer.py +1356 -0
  213. pygpt_net/core/render/web/syntax_highlight.py +58 -0
  214. pygpt_net/core/settings.py +49 -22
  215. pygpt_net/core/tabs/__init__.py +822 -0
  216. pygpt_net/core/tabs/tab.py +81 -0
  217. pygpt_net/core/text/finder.py +214 -0
  218. pygpt_net/core/text/utils.py +78 -0
  219. pygpt_net/core/text/web_finder.py +213 -0
  220. pygpt_net/core/tokens.py +97 -32
  221. pygpt_net/core/types/__init__.py +12 -0
  222. pygpt_net/core/types/mode.py +22 -0
  223. pygpt_net/core/updater/__init__.py +67 -6
  224. pygpt_net/core/vision/__init__.py +22 -0
  225. pygpt_net/core/vision/analyzer.py +158 -0
  226. pygpt_net/core/{web.py → web/__init__.py} +29 -7
  227. pygpt_net/core/web/helpers.py +237 -0
  228. pygpt_net/css.qrc +5 -0
  229. pygpt_net/css_rc.py +251 -0
  230. pygpt_net/data/audio/click_off.mp3 +0 -0
  231. pygpt_net/data/audio/click_on.mp3 +0 -0
  232. pygpt_net/data/audio/ok.mp3 +0 -0
  233. pygpt_net/data/config/config.json +188 -37
  234. pygpt_net/data/config/models.json +1509 -48
  235. pygpt_net/data/config/modes.json +23 -5
  236. pygpt_net/data/config/presets/agent_openai.json +33 -0
  237. pygpt_net/data/config/presets/agent_openai_assistant.json +33 -0
  238. pygpt_net/data/config/presets/agent_planner.json +33 -0
  239. pygpt_net/data/config/presets/agent_react.json +33 -0
  240. pygpt_net/data/config/presets/batman_and_joker.json +7 -3
  241. pygpt_net/data/config/presets/current.agent.json +7 -4
  242. pygpt_net/data/config/presets/current.agent_llama.json +32 -0
  243. pygpt_net/data/config/presets/current.assistant.json +6 -3
  244. pygpt_net/data/config/presets/current.audio.json +34 -0
  245. pygpt_net/data/config/presets/current.chat.json +6 -3
  246. pygpt_net/data/config/presets/current.completion.json +6 -3
  247. pygpt_net/data/config/presets/current.expert.json +23 -0
  248. pygpt_net/data/config/presets/current.img.json +6 -3
  249. pygpt_net/data/config/presets/current.langchain.json +6 -3
  250. pygpt_net/data/config/presets/current.llama_index.json +6 -3
  251. pygpt_net/data/config/presets/current.vision.json +6 -3
  252. pygpt_net/data/config/presets/dalle_white_cat.json +6 -3
  253. pygpt_net/data/config/presets/joke_agent.json +25 -0
  254. pygpt_net/data/config/presets/joke_expert.json +29 -0
  255. pygpt_net/data/config/settings.json +724 -64
  256. pygpt_net/data/config/settings_section.json +9 -0
  257. pygpt_net/data/css/markdown.css +28 -2
  258. pygpt_net/data/css/markdown.dark.css +2 -2
  259. pygpt_net/data/css/markdown.light.css +12 -3
  260. pygpt_net/data/css/style.css +1 -0
  261. pygpt_net/data/css/style.dark.css +2 -3
  262. pygpt_net/data/css/style.light.css +28 -4
  263. pygpt_net/data/css/web-blocks.css +339 -0
  264. pygpt_net/data/css/web-blocks.dark.css +74 -0
  265. pygpt_net/data/css/web-blocks.light.css +82 -0
  266. pygpt_net/data/css/web-chatgpt.css +350 -0
  267. pygpt_net/data/css/web-chatgpt.dark.css +64 -0
  268. pygpt_net/data/css/web-chatgpt.light.css +75 -0
  269. pygpt_net/data/css/web-chatgpt_wide.css +350 -0
  270. pygpt_net/data/css/web-chatgpt_wide.dark.css +64 -0
  271. pygpt_net/data/css/web-chatgpt_wide.light.css +75 -0
  272. pygpt_net/data/fonts/MonaspaceArgon/MonaspaceArgon-Bold.otf +0 -0
  273. pygpt_net/data/fonts/MonaspaceArgon/MonaspaceArgon-BoldItalic.otf +0 -0
  274. pygpt_net/data/fonts/MonaspaceArgon/MonaspaceArgon-Italic.otf +0 -0
  275. pygpt_net/data/fonts/MonaspaceArgon/MonaspaceArgon-Regular.otf +0 -0
  276. pygpt_net/data/fonts/MonaspaceKrypton/MonaspaceKrypton-Bold.otf +0 -0
  277. pygpt_net/data/fonts/MonaspaceKrypton/MonaspaceKrypton-BoldItalic.otf +0 -0
  278. pygpt_net/data/fonts/MonaspaceKrypton/MonaspaceKrypton-Italic.otf +0 -0
  279. pygpt_net/data/fonts/MonaspaceKrypton/MonaspaceKrypton-Regular.otf +0 -0
  280. pygpt_net/data/fonts/MonaspaceNeon/MonaspaceNeon-Bold.otf +0 -0
  281. pygpt_net/data/fonts/MonaspaceNeon/MonaspaceNeon-BoldItalic.otf +0 -0
  282. pygpt_net/data/fonts/MonaspaceNeon/MonaspaceNeon-Italic.otf +0 -0
  283. pygpt_net/data/fonts/MonaspaceNeon/MonaspaceNeon-Regular.otf +0 -0
  284. pygpt_net/data/fonts/MonaspaceRadon/MonaspaceRadon-Bold.otf +0 -0
  285. pygpt_net/data/fonts/MonaspaceRadon/MonaspaceRadon-BoldItalic.otf +0 -0
  286. pygpt_net/data/fonts/MonaspaceRadon/MonaspaceRadon-Italic.otf +0 -0
  287. pygpt_net/data/fonts/MonaspaceRadon/MonaspaceRadon-Regular.otf +0 -0
  288. pygpt_net/data/fonts/MonaspaceXenon/MonaspaceXenon-Bold.otf +0 -0
  289. pygpt_net/data/fonts/MonaspaceXenon/MonaspaceXenon-BoldItalic.otf +0 -0
  290. pygpt_net/data/fonts/MonaspaceXenon/MonaspaceXenon-Italic.otf +0 -0
  291. pygpt_net/data/fonts/MonaspaceXenon/MonaspaceXenon-Regular.otf +0 -0
  292. pygpt_net/data/icons/accessibility.svg +1 -0
  293. pygpt_net/data/icons/collapse.svg +3 -0
  294. pygpt_net/data/icons/cursor.png +0 -0
  295. pygpt_net/data/icons/split_screen.svg +1 -0
  296. pygpt_net/data/js/highlight/DIGESTS.md +793 -0
  297. pygpt_net/data/js/highlight/LICENSE +29 -0
  298. pygpt_net/data/js/highlight/README.md +45 -0
  299. pygpt_net/data/js/highlight/es/core.js +2600 -0
  300. pygpt_net/data/js/highlight/es/core.min.js +307 -0
  301. pygpt_net/data/js/highlight/es/highlight.js +2600 -0
  302. pygpt_net/data/js/highlight/es/highlight.min.js +307 -0
  303. pygpt_net/data/js/highlight/es/languages/1c.js +552 -0
  304. pygpt_net/data/js/highlight/es/languages/1c.min.js +25 -0
  305. pygpt_net/data/js/highlight/es/languages/abnf.js +91 -0
  306. pygpt_net/data/js/highlight/es/languages/abnf.min.js +12 -0
  307. pygpt_net/data/js/highlight/es/languages/accesslog.js +100 -0
  308. pygpt_net/data/js/highlight/es/languages/accesslog.min.js +13 -0
  309. pygpt_net/data/js/highlight/es/languages/actionscript.js +161 -0
  310. pygpt_net/data/js/highlight/es/languages/actionscript.min.js +17 -0
  311. pygpt_net/data/js/highlight/es/languages/ada.js +273 -0
  312. pygpt_net/data/js/highlight/es/languages/ada.min.js +25 -0
  313. pygpt_net/data/js/highlight/es/languages/angelscript.js +186 -0
  314. pygpt_net/data/js/highlight/es/languages/angelscript.min.js +21 -0
  315. pygpt_net/data/js/highlight/es/languages/apache.js +109 -0
  316. pygpt_net/data/js/highlight/es/languages/apache.min.js +14 -0
  317. pygpt_net/data/js/highlight/es/languages/applescript.js +157 -0
  318. pygpt_net/data/js/highlight/es/languages/applescript.min.js +18 -0
  319. pygpt_net/data/js/highlight/es/languages/arcade.js +425 -0
  320. pygpt_net/data/js/highlight/es/languages/arcade.min.js +28 -0
  321. pygpt_net/data/js/highlight/es/languages/arduino.js +1014 -0
  322. pygpt_net/data/js/highlight/es/languages/arduino.min.js +54 -0
  323. pygpt_net/data/js/highlight/es/languages/armasm.js +132 -0
  324. pygpt_net/data/js/highlight/es/languages/armasm.min.js +17 -0
  325. pygpt_net/data/js/highlight/es/languages/asciidoc.js +269 -0
  326. pygpt_net/data/js/highlight/es/languages/asciidoc.min.js +35 -0
  327. pygpt_net/data/js/highlight/es/languages/aspectj.js +239 -0
  328. pygpt_net/data/js/highlight/es/languages/aspectj.min.js +30 -0
  329. pygpt_net/data/js/highlight/es/languages/autohotkey.js +83 -0
  330. pygpt_net/data/js/highlight/es/languages/autohotkey.min.js +13 -0
  331. pygpt_net/data/js/highlight/es/languages/autoit.js +186 -0
  332. pygpt_net/data/js/highlight/es/languages/autoit.min.js +21 -0
  333. pygpt_net/data/js/highlight/es/languages/avrasm.js +86 -0
  334. pygpt_net/data/js/highlight/es/languages/avrasm.min.js +12 -0
  335. pygpt_net/data/js/highlight/es/languages/awk.js +76 -0
  336. pygpt_net/data/js/highlight/es/languages/awk.min.js +11 -0
  337. pygpt_net/data/js/highlight/es/languages/axapta.js +196 -0
  338. pygpt_net/data/js/highlight/es/languages/axapta.min.js +10 -0
  339. pygpt_net/data/js/highlight/es/languages/bash.js +415 -0
  340. pygpt_net/data/js/highlight/es/languages/bash.min.js +21 -0
  341. pygpt_net/data/js/highlight/es/languages/basic.js +238 -0
  342. pygpt_net/data/js/highlight/es/languages/basic.min.js +9 -0
  343. pygpt_net/data/js/highlight/es/languages/bnf.js +47 -0
  344. pygpt_net/data/js/highlight/es/languages/bnf.min.js +6 -0
  345. pygpt_net/data/js/highlight/es/languages/brainfuck.js +62 -0
  346. pygpt_net/data/js/highlight/es/languages/brainfuck.min.js +8 -0
  347. pygpt_net/data/js/highlight/es/languages/c.js +340 -0
  348. pygpt_net/data/js/highlight/es/languages/c.min.js +40 -0
  349. pygpt_net/data/js/highlight/es/languages/cal.js +168 -0
  350. pygpt_net/data/js/highlight/es/languages/cal.min.js +15 -0
  351. pygpt_net/data/js/highlight/es/languages/capnproto.js +107 -0
  352. pygpt_net/data/js/highlight/es/languages/capnproto.min.js +11 -0
  353. pygpt_net/data/js/highlight/es/languages/ceylon.js +148 -0
  354. pygpt_net/data/js/highlight/es/languages/ceylon.min.js +15 -0
  355. pygpt_net/data/js/highlight/es/languages/clean.js +75 -0
  356. pygpt_net/data/js/highlight/es/languages/clean.min.js +8 -0
  357. pygpt_net/data/js/highlight/es/languages/clojure-repl.js +35 -0
  358. pygpt_net/data/js/highlight/es/languages/clojure-repl.min.js +4 -0
  359. pygpt_net/data/js/highlight/es/languages/clojure.js +192 -0
  360. pygpt_net/data/js/highlight/es/languages/clojure.min.js +25 -0
  361. pygpt_net/data/js/highlight/es/languages/cmake.js +72 -0
  362. pygpt_net/data/js/highlight/es/languages/cmake.min.js +7 -0
  363. pygpt_net/data/js/highlight/es/languages/coffeescript.js +374 -0
  364. pygpt_net/data/js/highlight/es/languages/coffeescript.min.js +28 -0
  365. pygpt_net/data/js/highlight/es/languages/coq.js +453 -0
  366. pygpt_net/data/js/highlight/es/languages/coq.min.js +7 -0
  367. pygpt_net/data/js/highlight/es/languages/cos.js +148 -0
  368. pygpt_net/data/js/highlight/es/languages/cos.min.js +15 -0
  369. pygpt_net/data/js/highlight/es/languages/cpp.js +611 -0
  370. pygpt_net/data/js/highlight/es/languages/cpp.min.js +46 -0
  371. pygpt_net/data/js/highlight/es/languages/crmsh.js +108 -0
  372. pygpt_net/data/js/highlight/es/languages/crmsh.min.js +19 -0
  373. pygpt_net/data/js/highlight/es/languages/crystal.js +320 -0
  374. pygpt_net/data/js/highlight/es/languages/crystal.min.js +48 -0
  375. pygpt_net/data/js/highlight/es/languages/csharp.js +414 -0
  376. pygpt_net/data/js/highlight/es/languages/csharp.min.js +49 -0
  377. pygpt_net/data/js/highlight/es/languages/csp.js +66 -0
  378. pygpt_net/data/js/highlight/es/languages/csp.min.js +6 -0
  379. pygpt_net/data/js/highlight/es/languages/css.js +862 -0
  380. pygpt_net/data/js/highlight/es/languages/css.min.js +31 -0
  381. pygpt_net/data/js/highlight/es/languages/d.js +280 -0
  382. pygpt_net/data/js/highlight/es/languages/d.min.js +20 -0
  383. pygpt_net/data/js/highlight/es/languages/dart.js +270 -0
  384. pygpt_net/data/js/highlight/es/languages/dart.min.js +22 -0
  385. pygpt_net/data/js/highlight/es/languages/delphi.js +254 -0
  386. pygpt_net/data/js/highlight/es/languages/delphi.min.js +19 -0
  387. pygpt_net/data/js/highlight/es/languages/diff.js +70 -0
  388. pygpt_net/data/js/highlight/es/languages/diff.min.js +9 -0
  389. pygpt_net/data/js/highlight/es/languages/django.js +83 -0
  390. pygpt_net/data/js/highlight/es/languages/django.min.js +13 -0
  391. pygpt_net/data/js/highlight/es/languages/dns.js +86 -0
  392. pygpt_net/data/js/highlight/es/languages/dns.min.js +11 -0
  393. pygpt_net/data/js/highlight/es/languages/dockerfile.js +52 -0
  394. pygpt_net/data/js/highlight/es/languages/dockerfile.min.js +8 -0
  395. pygpt_net/data/js/highlight/es/languages/dos.js +175 -0
  396. pygpt_net/data/js/highlight/es/languages/dos.min.js +13 -0
  397. pygpt_net/data/js/highlight/es/languages/dsconfig.js +74 -0
  398. pygpt_net/data/js/highlight/es/languages/dsconfig.min.js +9 -0
  399. pygpt_net/data/js/highlight/es/languages/dts.js +165 -0
  400. pygpt_net/data/js/highlight/es/languages/dts.min.js +22 -0
  401. pygpt_net/data/js/highlight/es/languages/dust.js +55 -0
  402. pygpt_net/data/js/highlight/es/languages/dust.min.js +8 -0
  403. pygpt_net/data/js/highlight/es/languages/ebnf.js +62 -0
  404. pygpt_net/data/js/highlight/es/languages/ebnf.min.js +7 -0
  405. pygpt_net/data/js/highlight/es/languages/elixir.js +287 -0
  406. pygpt_net/data/js/highlight/es/languages/elixir.min.js +34 -0
  407. pygpt_net/data/js/highlight/es/languages/elm.js +151 -0
  408. pygpt_net/data/js/highlight/es/languages/elm.min.js +18 -0
  409. pygpt_net/data/js/highlight/es/languages/erb.js +37 -0
  410. pygpt_net/data/js/highlight/es/languages/erb.min.js +5 -0
  411. pygpt_net/data/js/highlight/es/languages/erlang-repl.js +62 -0
  412. pygpt_net/data/js/highlight/es/languages/erlang-repl.min.js +13 -0
  413. pygpt_net/data/js/highlight/es/languages/erlang.js +207 -0
  414. pygpt_net/data/js/highlight/es/languages/erlang.min.js +28 -0
  415. pygpt_net/data/js/highlight/es/languages/excel.js +553 -0
  416. pygpt_net/data/js/highlight/es/languages/excel.min.js +10 -0
  417. pygpt_net/data/js/highlight/es/languages/fix.js +47 -0
  418. pygpt_net/data/js/highlight/es/languages/fix.min.js +7 -0
  419. pygpt_net/data/js/highlight/es/languages/flix.js +87 -0
  420. pygpt_net/data/js/highlight/es/languages/flix.min.js +10 -0
  421. pygpt_net/data/js/highlight/es/languages/fortran.js +582 -0
  422. pygpt_net/data/js/highlight/es/languages/fortran.min.js +17 -0
  423. pygpt_net/data/js/highlight/es/languages/fsharp.js +635 -0
  424. pygpt_net/data/js/highlight/es/languages/fsharp.min.js +47 -0
  425. pygpt_net/data/js/highlight/es/languages/gams.js +189 -0
  426. pygpt_net/data/js/highlight/es/languages/gams.min.js +28 -0
  427. pygpt_net/data/js/highlight/es/languages/gauss.js +314 -0
  428. pygpt_net/data/js/highlight/es/languages/gauss.min.js +36 -0
  429. pygpt_net/data/js/highlight/es/languages/gcode.js +89 -0
  430. pygpt_net/data/js/highlight/es/languages/gcode.min.js +17 -0
  431. pygpt_net/data/js/highlight/es/languages/gherkin.js +57 -0
  432. pygpt_net/data/js/highlight/es/languages/gherkin.min.js +9 -0
  433. pygpt_net/data/js/highlight/es/languages/glsl.js +136 -0
  434. pygpt_net/data/js/highlight/es/languages/glsl.min.js +8 -0
  435. pygpt_net/data/js/highlight/es/languages/gml.js +3138 -0
  436. pygpt_net/data/js/highlight/es/languages/gml.min.js +10 -0
  437. pygpt_net/data/js/highlight/es/languages/go.js +164 -0
  438. pygpt_net/data/js/highlight/es/languages/go.min.js +19 -0
  439. pygpt_net/data/js/highlight/es/languages/golo.js +89 -0
  440. pygpt_net/data/js/highlight/es/languages/golo.min.js +6 -0
  441. pygpt_net/data/js/highlight/es/languages/gradle.js +198 -0
  442. pygpt_net/data/js/highlight/es/languages/gradle.min.js +6 -0
  443. pygpt_net/data/js/highlight/es/languages/graphql.js +86 -0
  444. pygpt_net/data/js/highlight/es/languages/graphql.min.js +12 -0
  445. pygpt_net/data/js/highlight/es/languages/groovy.js +198 -0
  446. pygpt_net/data/js/highlight/es/languages/groovy.min.js +21 -0
  447. pygpt_net/data/js/highlight/es/languages/haml.js +121 -0
  448. pygpt_net/data/js/highlight/es/languages/haml.min.js +18 -0
  449. pygpt_net/data/js/highlight/es/languages/handlebars.js +266 -0
  450. pygpt_net/data/js/highlight/es/languages/handlebars.min.js +29 -0
  451. pygpt_net/data/js/highlight/es/languages/haskell.js +225 -0
  452. pygpt_net/data/js/highlight/es/languages/haskell.min.js +32 -0
  453. pygpt_net/data/js/highlight/es/languages/haxe.js +175 -0
  454. pygpt_net/data/js/highlight/es/languages/haxe.min.js +30 -0
  455. pygpt_net/data/js/highlight/es/languages/hsp.js +67 -0
  456. pygpt_net/data/js/highlight/es/languages/hsp.min.js +14 -0
  457. pygpt_net/data/js/highlight/es/languages/http.js +105 -0
  458. pygpt_net/data/js/highlight/es/languages/http.min.js +14 -0
  459. pygpt_net/data/js/highlight/es/languages/hy.js +145 -0
  460. pygpt_net/data/js/highlight/es/languages/hy.min.js +15 -0
  461. pygpt_net/data/js/highlight/es/languages/inform7.js +78 -0
  462. pygpt_net/data/js/highlight/es/languages/inform7.min.js +10 -0
  463. pygpt_net/data/js/highlight/es/languages/ini.js +129 -0
  464. pygpt_net/data/js/highlight/es/languages/ini.min.js +16 -0
  465. pygpt_net/data/js/highlight/es/languages/irpf90.js +115 -0
  466. pygpt_net/data/js/highlight/es/languages/irpf90.min.js +15 -0
  467. pygpt_net/data/js/highlight/es/languages/isbl.js +3213 -0
  468. pygpt_net/data/js/highlight/es/languages/isbl.min.js +25 -0
  469. pygpt_net/data/js/highlight/es/languages/java.js +298 -0
  470. pygpt_net/data/js/highlight/es/languages/java.min.js +38 -0
  471. pygpt_net/data/js/highlight/es/languages/javascript.js +775 -0
  472. pygpt_net/data/js/highlight/es/languages/javascript.min.js +81 -0
  473. pygpt_net/data/js/highlight/es/languages/jboss-cli.js +71 -0
  474. pygpt_net/data/js/highlight/es/languages/jboss-cli.min.js +10 -0
  475. pygpt_net/data/js/highlight/es/languages/json.js +62 -0
  476. pygpt_net/data/js/highlight/es/languages/json.min.js +8 -0
  477. pygpt_net/data/js/highlight/es/languages/julia-repl.js +59 -0
  478. pygpt_net/data/js/highlight/es/languages/julia-repl.min.js +4 -0
  479. pygpt_net/data/js/highlight/es/languages/julia.js +450 -0
  480. pygpt_net/data/js/highlight/es/languages/julia.min.js +18 -0
  481. pygpt_net/data/js/highlight/es/languages/kotlin.js +294 -0
  482. pygpt_net/data/js/highlight/es/languages/kotlin.min.js +46 -0
  483. pygpt_net/data/js/highlight/es/languages/lasso.js +179 -0
  484. pygpt_net/data/js/highlight/es/languages/lasso.min.js +28 -0
  485. pygpt_net/data/js/highlight/es/languages/latex.js +286 -0
  486. pygpt_net/data/js/highlight/es/languages/latex.min.js +34 -0
  487. pygpt_net/data/js/highlight/es/languages/ldif.js +39 -0
  488. pygpt_net/data/js/highlight/es/languages/ldif.min.js +5 -0
  489. pygpt_net/data/js/highlight/es/languages/leaf.js +105 -0
  490. pygpt_net/data/js/highlight/es/languages/leaf.min.js +12 -0
  491. pygpt_net/data/js/highlight/es/languages/less.js +963 -0
  492. pygpt_net/data/js/highlight/es/languages/less.min.js +45 -0
  493. pygpt_net/data/js/highlight/es/languages/lisp.js +147 -0
  494. pygpt_net/data/js/highlight/es/languages/lisp.min.js +16 -0
  495. pygpt_net/data/js/highlight/es/languages/livecodeserver.js +181 -0
  496. pygpt_net/data/js/highlight/es/languages/livecodeserver.min.js +21 -0
  497. pygpt_net/data/js/highlight/es/languages/livescript.js +386 -0
  498. pygpt_net/data/js/highlight/es/languages/livescript.min.js +35 -0
  499. pygpt_net/data/js/highlight/es/languages/llvm.js +143 -0
  500. pygpt_net/data/js/highlight/es/languages/llvm.min.js +16 -0
  501. pygpt_net/data/js/highlight/es/languages/lsl.js +84 -0
  502. pygpt_net/data/js/highlight/es/languages/lsl.min.js +19 -0
  503. pygpt_net/data/js/highlight/es/languages/lua.js +88 -0
  504. pygpt_net/data/js/highlight/es/languages/lua.min.js +14 -0
  505. pygpt_net/data/js/highlight/es/languages/makefile.js +94 -0
  506. pygpt_net/data/js/highlight/es/languages/makefile.min.js +14 -0
  507. pygpt_net/data/js/highlight/es/languages/markdown.js +256 -0
  508. pygpt_net/data/js/highlight/es/languages/markdown.min.js +32 -0
  509. pygpt_net/data/js/highlight/es/languages/mathematica.js +7367 -0
  510. pygpt_net/data/js/highlight/es/languages/mathematica.min.js +21 -0
  511. pygpt_net/data/js/highlight/es/languages/matlab.js +115 -0
  512. pygpt_net/data/js/highlight/es/languages/matlab.min.js +15 -0
  513. pygpt_net/data/js/highlight/es/languages/maxima.js +422 -0
  514. pygpt_net/data/js/highlight/es/languages/maxima.min.js +12 -0
  515. pygpt_net/data/js/highlight/es/languages/mel.js +243 -0
  516. pygpt_net/data/js/highlight/es/languages/mel.min.js +8 -0
  517. pygpt_net/data/js/highlight/es/languages/mercury.js +116 -0
  518. pygpt_net/data/js/highlight/es/languages/mercury.min.js +16 -0
  519. pygpt_net/data/js/highlight/es/languages/mipsasm.js +112 -0
  520. pygpt_net/data/js/highlight/es/languages/mipsasm.min.js +15 -0
  521. pygpt_net/data/js/highlight/es/languages/mizar.js +35 -0
  522. pygpt_net/data/js/highlight/es/languages/mizar.min.js +4 -0
  523. pygpt_net/data/js/highlight/es/languages/mojolicious.js +44 -0
  524. pygpt_net/data/js/highlight/es/languages/mojolicious.min.js +6 -0
  525. pygpt_net/data/js/highlight/es/languages/monkey.js +192 -0
  526. pygpt_net/data/js/highlight/es/languages/monkey.min.js +17 -0
  527. pygpt_net/data/js/highlight/es/languages/moonscript.js +149 -0
  528. pygpt_net/data/js/highlight/es/languages/moonscript.min.js +23 -0
  529. pygpt_net/data/js/highlight/es/languages/n1ql.js +373 -0
  530. pygpt_net/data/js/highlight/es/languages/n1ql.min.js +13 -0
  531. pygpt_net/data/js/highlight/es/languages/nestedtext.js +91 -0
  532. pygpt_net/data/js/highlight/es/languages/nestedtext.min.js +9 -0
  533. pygpt_net/data/js/highlight/es/languages/nginx.js +161 -0
  534. pygpt_net/data/js/highlight/es/languages/nginx.min.js +21 -0
  535. pygpt_net/data/js/highlight/es/languages/nim.js +193 -0
  536. pygpt_net/data/js/highlight/es/languages/nim.min.js +15 -0
  537. pygpt_net/data/js/highlight/es/languages/nix.js +103 -0
  538. pygpt_net/data/js/highlight/es/languages/nix.min.js +12 -0
  539. pygpt_net/data/js/highlight/es/languages/node-repl.js +41 -0
  540. pygpt_net/data/js/highlight/es/languages/node-repl.min.js +5 -0
  541. pygpt_net/data/js/highlight/es/languages/nsis.js +565 -0
  542. pygpt_net/data/js/highlight/es/languages/nsis.min.js +23 -0
  543. pygpt_net/data/js/highlight/es/languages/objectivec.js +261 -0
  544. pygpt_net/data/js/highlight/es/languages/objectivec.min.js +23 -0
  545. pygpt_net/data/js/highlight/es/languages/ocaml.js +91 -0
  546. pygpt_net/data/js/highlight/es/languages/ocaml.min.js +14 -0
  547. pygpt_net/data/js/highlight/es/languages/openscad.js +85 -0
  548. pygpt_net/data/js/highlight/es/languages/openscad.min.js +15 -0
  549. pygpt_net/data/js/highlight/es/languages/oxygene.js +95 -0
  550. pygpt_net/data/js/highlight/es/languages/oxygene.min.js +13 -0
  551. pygpt_net/data/js/highlight/es/languages/parser3.js +63 -0
  552. pygpt_net/data/js/highlight/es/languages/parser3.min.js +10 -0
  553. pygpt_net/data/js/highlight/es/languages/perl.js +512 -0
  554. pygpt_net/data/js/highlight/es/languages/perl.min.js +40 -0
  555. pygpt_net/data/js/highlight/es/languages/pf.js +68 -0
  556. pygpt_net/data/js/highlight/es/languages/pf.min.js +9 -0
  557. pygpt_net/data/js/highlight/es/languages/pgsql.js +533 -0
  558. pygpt_net/data/js/highlight/es/languages/pgsql.min.js +69 -0
  559. pygpt_net/data/js/highlight/es/languages/php-template.js +62 -0
  560. pygpt_net/data/js/highlight/es/languages/php-template.min.js +8 -0
  561. pygpt_net/data/js/highlight/es/languages/php.js +621 -0
  562. pygpt_net/data/js/highlight/es/languages/php.min.js +58 -0
  563. pygpt_net/data/js/highlight/es/languages/plaintext.js +27 -0
  564. pygpt_net/data/js/highlight/es/languages/plaintext.min.js +3 -0
  565. pygpt_net/data/js/highlight/es/languages/pony.js +98 -0
  566. pygpt_net/data/js/highlight/es/languages/pony.min.js +12 -0
  567. pygpt_net/data/js/highlight/es/languages/powershell.js +325 -0
  568. pygpt_net/data/js/highlight/es/languages/powershell.min.js +40 -0
  569. pygpt_net/data/js/highlight/es/languages/processing.js +442 -0
  570. pygpt_net/data/js/highlight/es/languages/processing.min.js +18 -0
  571. pygpt_net/data/js/highlight/es/languages/profile.js +51 -0
  572. pygpt_net/data/js/highlight/es/languages/profile.min.js +9 -0
  573. pygpt_net/data/js/highlight/es/languages/prolog.js +105 -0
  574. pygpt_net/data/js/highlight/es/languages/prolog.min.js +11 -0
  575. pygpt_net/data/js/highlight/es/languages/properties.js +76 -0
  576. pygpt_net/data/js/highlight/es/languages/properties.min.js +9 -0
  577. pygpt_net/data/js/highlight/es/languages/protobuf.js +87 -0
  578. pygpt_net/data/js/highlight/es/languages/protobuf.min.js +11 -0
  579. pygpt_net/data/js/highlight/es/languages/puppet.js +154 -0
  580. pygpt_net/data/js/highlight/es/languages/puppet.min.js +18 -0
  581. pygpt_net/data/js/highlight/es/languages/purebasic.js +108 -0
  582. pygpt_net/data/js/highlight/es/languages/purebasic.min.js +11 -0
  583. pygpt_net/data/js/highlight/es/languages/python-repl.js +40 -0
  584. pygpt_net/data/js/highlight/es/languages/python-repl.min.js +5 -0
  585. pygpt_net/data/js/highlight/es/languages/python.js +444 -0
  586. pygpt_net/data/js/highlight/es/languages/python.min.js +42 -0
  587. pygpt_net/data/js/highlight/es/languages/q.js +46 -0
  588. pygpt_net/data/js/highlight/es/languages/q.min.js +8 -0
  589. pygpt_net/data/js/highlight/es/languages/qml.js +197 -0
  590. pygpt_net/data/js/highlight/es/languages/qml.min.js +29 -0
  591. pygpt_net/data/js/highlight/es/languages/r.js +265 -0
  592. pygpt_net/data/js/highlight/es/languages/r.min.js +26 -0
  593. pygpt_net/data/js/highlight/es/languages/reasonml.js +150 -0
  594. pygpt_net/data/js/highlight/es/languages/reasonml.min.js +18 -0
  595. pygpt_net/data/js/highlight/es/languages/rib.js +45 -0
  596. pygpt_net/data/js/highlight/es/languages/rib.min.js +6 -0
  597. pygpt_net/data/js/highlight/es/languages/roboconf.js +90 -0
  598. pygpt_net/data/js/highlight/es/languages/roboconf.min.js +13 -0
  599. pygpt_net/data/js/highlight/es/languages/routeros.js +172 -0
  600. pygpt_net/data/js/highlight/es/languages/routeros.min.js +22 -0
  601. pygpt_net/data/js/highlight/es/languages/rsl.js +157 -0
  602. pygpt_net/data/js/highlight/es/languages/rsl.min.js +11 -0
  603. pygpt_net/data/js/highlight/es/languages/ruby.js +456 -0
  604. pygpt_net/data/js/highlight/es/languages/ruby.min.js +54 -0
  605. pygpt_net/data/js/highlight/es/languages/ruleslanguage.js +84 -0
  606. pygpt_net/data/js/highlight/es/languages/ruleslanguage.min.js +9 -0
  607. pygpt_net/data/js/highlight/es/languages/rust.js +324 -0
  608. pygpt_net/data/js/highlight/es/languages/rust.min.js +27 -0
  609. pygpt_net/data/js/highlight/es/languages/sas.js +565 -0
  610. pygpt_net/data/js/highlight/es/languages/sas.min.js +17 -0
  611. pygpt_net/data/js/highlight/es/languages/scala.js +222 -0
  612. pygpt_net/data/js/highlight/es/languages/scala.min.js +28 -0
  613. pygpt_net/data/js/highlight/es/languages/scheme.js +204 -0
  614. pygpt_net/data/js/highlight/es/languages/scheme.min.js +19 -0
  615. pygpt_net/data/js/highlight/es/languages/scilab.js +81 -0
  616. pygpt_net/data/js/highlight/es/languages/scilab.min.js +13 -0
  617. pygpt_net/data/js/highlight/es/languages/scss.js +852 -0
  618. pygpt_net/data/js/highlight/es/languages/scss.min.js +33 -0
  619. pygpt_net/data/js/highlight/es/languages/shell.js +41 -0
  620. pygpt_net/data/js/highlight/es/languages/shell.min.js +5 -0
  621. pygpt_net/data/js/highlight/es/languages/smali.js +134 -0
  622. pygpt_net/data/js/highlight/es/languages/smali.min.js +13 -0
  623. pygpt_net/data/js/highlight/es/languages/smalltalk.js +77 -0
  624. pygpt_net/data/js/highlight/es/languages/smalltalk.min.js +11 -0
  625. pygpt_net/data/js/highlight/es/languages/sml.js +83 -0
  626. pygpt_net/data/js/highlight/es/languages/sml.min.js +14 -0
  627. pygpt_net/data/js/highlight/es/languages/sqf.js +2670 -0
  628. pygpt_net/data/js/highlight/es/languages/sqf.min.js +17 -0
  629. pygpt_net/data/js/highlight/es/languages/sql.js +690 -0
  630. pygpt_net/data/js/highlight/es/languages/sql.min.js +17 -0
  631. pygpt_net/data/js/highlight/es/languages/stan.js +529 -0
  632. pygpt_net/data/js/highlight/es/languages/stan.min.js +28 -0
  633. pygpt_net/data/js/highlight/es/languages/stata.js +61 -0
  634. pygpt_net/data/js/highlight/es/languages/stata.min.js +11 -0
  635. pygpt_net/data/js/highlight/es/languages/step21.js +75 -0
  636. pygpt_net/data/js/highlight/es/languages/step21.min.js +10 -0
  637. pygpt_net/data/js/highlight/es/languages/stylus.js +912 -0
  638. pygpt_net/data/js/highlight/es/languages/stylus.min.js +36 -0
  639. pygpt_net/data/js/highlight/es/languages/subunit.js +52 -0
  640. pygpt_net/data/js/highlight/es/languages/subunit.min.js +10 -0
  641. pygpt_net/data/js/highlight/es/languages/swift.js +951 -0
  642. pygpt_net/data/js/highlight/es/languages/swift.min.js +66 -0
  643. pygpt_net/data/js/highlight/es/languages/taggerscript.js +67 -0
  644. pygpt_net/data/js/highlight/es/languages/taggerscript.min.js +7 -0
  645. pygpt_net/data/js/highlight/es/languages/tap.js +55 -0
  646. pygpt_net/data/js/highlight/es/languages/tap.min.js +7 -0
  647. pygpt_net/data/js/highlight/es/languages/tcl.js +199 -0
  648. pygpt_net/data/js/highlight/es/languages/tcl.min.js +15 -0
  649. pygpt_net/data/js/highlight/es/languages/thrift.js +85 -0
  650. pygpt_net/data/js/highlight/es/languages/thrift.min.js +12 -0
  651. pygpt_net/data/js/highlight/es/languages/tp.js +180 -0
  652. pygpt_net/data/js/highlight/es/languages/tp.min.js +19 -0
  653. pygpt_net/data/js/highlight/es/languages/twig.js +268 -0
  654. pygpt_net/data/js/highlight/es/languages/twig.min.js +18 -0
  655. pygpt_net/data/js/highlight/es/languages/typescript.js +909 -0
  656. pygpt_net/data/js/highlight/es/languages/typescript.min.js +98 -0
  657. pygpt_net/data/js/highlight/es/languages/vala.js +69 -0
  658. pygpt_net/data/js/highlight/es/languages/vala.min.js +9 -0
  659. pygpt_net/data/js/highlight/es/languages/vbnet.js +165 -0
  660. pygpt_net/data/js/highlight/es/languages/vbnet.min.js +25 -0
  661. pygpt_net/data/js/highlight/es/languages/vbscript-html.js +32 -0
  662. pygpt_net/data/js/highlight/es/languages/vbscript-html.min.js +4 -0
  663. pygpt_net/data/js/highlight/es/languages/vbscript.js +228 -0
  664. pygpt_net/data/js/highlight/es/languages/vbscript.min.js +10 -0
  665. pygpt_net/data/js/highlight/es/languages/verilog.js +558 -0
  666. pygpt_net/data/js/highlight/es/languages/verilog.min.js +17 -0
  667. pygpt_net/data/js/highlight/es/languages/vhdl.js +224 -0
  668. pygpt_net/data/js/highlight/es/languages/vhdl.min.js +13 -0
  669. pygpt_net/data/js/highlight/es/languages/vim.js +137 -0
  670. pygpt_net/data/js/highlight/es/languages/vim.min.js +12 -0
  671. pygpt_net/data/js/highlight/es/languages/wasm.js +147 -0
  672. pygpt_net/data/js/highlight/es/languages/wasm.min.js +15 -0
  673. pygpt_net/data/js/highlight/es/languages/wren.js +310 -0
  674. pygpt_net/data/js/highlight/es/languages/wren.min.js +30 -0
  675. pygpt_net/data/js/highlight/es/languages/x86asm.js +161 -0
  676. pygpt_net/data/js/highlight/es/languages/x86asm.min.js +18 -0
  677. pygpt_net/data/js/highlight/es/languages/xl.js +213 -0
  678. pygpt_net/data/js/highlight/es/languages/xl.min.js +15 -0
  679. pygpt_net/data/js/highlight/es/languages/xml.js +249 -0
  680. pygpt_net/data/js/highlight/es/languages/xml.min.js +29 -0
  681. pygpt_net/data/js/highlight/es/languages/xquery.js +368 -0
  682. pygpt_net/data/js/highlight/es/languages/xquery.min.js +33 -0
  683. pygpt_net/data/js/highlight/es/languages/yaml.js +203 -0
  684. pygpt_net/data/js/highlight/es/languages/yaml.min.js +25 -0
  685. pygpt_net/data/js/highlight/es/languages/zephir.js +137 -0
  686. pygpt_net/data/js/highlight/es/languages/zephir.min.js +18 -0
  687. pygpt_net/data/js/highlight/es/package.json +1 -0
  688. pygpt_net/data/js/highlight/highlight.js +60739 -0
  689. pygpt_net/data/js/highlight/highlight.min.js +3861 -0
  690. pygpt_net/data/js/highlight/languages/1c.js +554 -0
  691. pygpt_net/data/js/highlight/languages/1c.min.js +25 -0
  692. pygpt_net/data/js/highlight/languages/abnf.js +93 -0
  693. pygpt_net/data/js/highlight/languages/abnf.min.js +11 -0
  694. pygpt_net/data/js/highlight/languages/accesslog.js +102 -0
  695. pygpt_net/data/js/highlight/languages/accesslog.min.js +13 -0
  696. pygpt_net/data/js/highlight/languages/actionscript.js +163 -0
  697. pygpt_net/data/js/highlight/languages/actionscript.min.js +17 -0
  698. pygpt_net/data/js/highlight/languages/ada.js +275 -0
  699. pygpt_net/data/js/highlight/languages/ada.min.js +25 -0
  700. pygpt_net/data/js/highlight/languages/angelscript.js +188 -0
  701. pygpt_net/data/js/highlight/languages/angelscript.min.js +21 -0
  702. pygpt_net/data/js/highlight/languages/apache.js +111 -0
  703. pygpt_net/data/js/highlight/languages/apache.min.js +14 -0
  704. pygpt_net/data/js/highlight/languages/applescript.js +159 -0
  705. pygpt_net/data/js/highlight/languages/applescript.min.js +19 -0
  706. pygpt_net/data/js/highlight/languages/arcade.js +427 -0
  707. pygpt_net/data/js/highlight/languages/arcade.min.js +27 -0
  708. pygpt_net/data/js/highlight/languages/arduino.js +1016 -0
  709. pygpt_net/data/js/highlight/languages/arduino.min.js +54 -0
  710. pygpt_net/data/js/highlight/languages/armasm.js +134 -0
  711. pygpt_net/data/js/highlight/languages/armasm.min.js +17 -0
  712. pygpt_net/data/js/highlight/languages/asciidoc.js +271 -0
  713. pygpt_net/data/js/highlight/languages/asciidoc.min.js +35 -0
  714. pygpt_net/data/js/highlight/languages/aspectj.js +241 -0
  715. pygpt_net/data/js/highlight/languages/aspectj.min.js +31 -0
  716. pygpt_net/data/js/highlight/languages/autohotkey.js +85 -0
  717. pygpt_net/data/js/highlight/languages/autohotkey.min.js +14 -0
  718. pygpt_net/data/js/highlight/languages/autoit.js +188 -0
  719. pygpt_net/data/js/highlight/languages/autoit.min.js +21 -0
  720. pygpt_net/data/js/highlight/languages/avrasm.js +88 -0
  721. pygpt_net/data/js/highlight/languages/avrasm.min.js +12 -0
  722. pygpt_net/data/js/highlight/languages/awk.js +78 -0
  723. pygpt_net/data/js/highlight/languages/awk.min.js +11 -0
  724. pygpt_net/data/js/highlight/languages/axapta.js +198 -0
  725. pygpt_net/data/js/highlight/languages/axapta.min.js +11 -0
  726. pygpt_net/data/js/highlight/languages/bash.js +417 -0
  727. pygpt_net/data/js/highlight/languages/bash.min.js +21 -0
  728. pygpt_net/data/js/highlight/languages/basic.js +240 -0
  729. pygpt_net/data/js/highlight/languages/basic.min.js +10 -0
  730. pygpt_net/data/js/highlight/languages/bnf.js +49 -0
  731. pygpt_net/data/js/highlight/languages/bnf.min.js +6 -0
  732. pygpt_net/data/js/highlight/languages/brainfuck.js +64 -0
  733. pygpt_net/data/js/highlight/languages/brainfuck.min.js +8 -0
  734. pygpt_net/data/js/highlight/languages/c.js +342 -0
  735. pygpt_net/data/js/highlight/languages/c.min.js +40 -0
  736. pygpt_net/data/js/highlight/languages/cal.js +170 -0
  737. pygpt_net/data/js/highlight/languages/cal.min.js +15 -0
  738. pygpt_net/data/js/highlight/languages/capnproto.js +109 -0
  739. pygpt_net/data/js/highlight/languages/capnproto.min.js +11 -0
  740. pygpt_net/data/js/highlight/languages/ceylon.js +150 -0
  741. pygpt_net/data/js/highlight/languages/ceylon.min.js +15 -0
  742. pygpt_net/data/js/highlight/languages/clean.js +77 -0
  743. pygpt_net/data/js/highlight/languages/clean.min.js +8 -0
  744. pygpt_net/data/js/highlight/languages/clojure-repl.js +37 -0
  745. pygpt_net/data/js/highlight/languages/clojure-repl.min.js +4 -0
  746. pygpt_net/data/js/highlight/languages/clojure.js +194 -0
  747. pygpt_net/data/js/highlight/languages/clojure.min.js +25 -0
  748. pygpt_net/data/js/highlight/languages/cmake.js +74 -0
  749. pygpt_net/data/js/highlight/languages/cmake.min.js +7 -0
  750. pygpt_net/data/js/highlight/languages/coffeescript.js +376 -0
  751. pygpt_net/data/js/highlight/languages/coffeescript.min.js +29 -0
  752. pygpt_net/data/js/highlight/languages/coq.js +455 -0
  753. pygpt_net/data/js/highlight/languages/coq.min.js +7 -0
  754. pygpt_net/data/js/highlight/languages/cos.js +150 -0
  755. pygpt_net/data/js/highlight/languages/cos.min.js +15 -0
  756. pygpt_net/data/js/highlight/languages/cpp.js +613 -0
  757. pygpt_net/data/js/highlight/languages/cpp.min.js +47 -0
  758. pygpt_net/data/js/highlight/languages/crmsh.js +110 -0
  759. pygpt_net/data/js/highlight/languages/crmsh.min.js +19 -0
  760. pygpt_net/data/js/highlight/languages/crystal.js +322 -0
  761. pygpt_net/data/js/highlight/languages/crystal.min.js +48 -0
  762. pygpt_net/data/js/highlight/languages/csharp.js +416 -0
  763. pygpt_net/data/js/highlight/languages/csharp.min.js +49 -0
  764. pygpt_net/data/js/highlight/languages/csp.js +68 -0
  765. pygpt_net/data/js/highlight/languages/csp.min.js +7 -0
  766. pygpt_net/data/js/highlight/languages/css.js +864 -0
  767. pygpt_net/data/js/highlight/languages/css.min.js +31 -0
  768. pygpt_net/data/js/highlight/languages/d.js +282 -0
  769. pygpt_net/data/js/highlight/languages/d.min.js +20 -0
  770. pygpt_net/data/js/highlight/languages/dart.js +272 -0
  771. pygpt_net/data/js/highlight/languages/dart.min.js +22 -0
  772. pygpt_net/data/js/highlight/languages/delphi.js +256 -0
  773. pygpt_net/data/js/highlight/languages/delphi.min.js +19 -0
  774. pygpt_net/data/js/highlight/languages/diff.js +72 -0
  775. pygpt_net/data/js/highlight/languages/diff.min.js +9 -0
  776. pygpt_net/data/js/highlight/languages/django.js +85 -0
  777. pygpt_net/data/js/highlight/languages/django.min.js +13 -0
  778. pygpt_net/data/js/highlight/languages/dns.js +88 -0
  779. pygpt_net/data/js/highlight/languages/dns.min.js +11 -0
  780. pygpt_net/data/js/highlight/languages/dockerfile.js +54 -0
  781. pygpt_net/data/js/highlight/languages/dockerfile.min.js +8 -0
  782. pygpt_net/data/js/highlight/languages/dos.js +177 -0
  783. pygpt_net/data/js/highlight/languages/dos.min.js +12 -0
  784. pygpt_net/data/js/highlight/languages/dsconfig.js +76 -0
  785. pygpt_net/data/js/highlight/languages/dsconfig.min.js +9 -0
  786. pygpt_net/data/js/highlight/languages/dts.js +167 -0
  787. pygpt_net/data/js/highlight/languages/dts.min.js +22 -0
  788. pygpt_net/data/js/highlight/languages/dust.js +57 -0
  789. pygpt_net/data/js/highlight/languages/dust.min.js +8 -0
  790. pygpt_net/data/js/highlight/languages/ebnf.js +64 -0
  791. pygpt_net/data/js/highlight/languages/ebnf.min.js +7 -0
  792. pygpt_net/data/js/highlight/languages/elixir.js +289 -0
  793. pygpt_net/data/js/highlight/languages/elixir.min.js +34 -0
  794. pygpt_net/data/js/highlight/languages/elm.js +153 -0
  795. pygpt_net/data/js/highlight/languages/elm.min.js +18 -0
  796. pygpt_net/data/js/highlight/languages/erb.js +39 -0
  797. pygpt_net/data/js/highlight/languages/erb.min.js +5 -0
  798. pygpt_net/data/js/highlight/languages/erlang-repl.js +64 -0
  799. pygpt_net/data/js/highlight/languages/erlang-repl.min.js +13 -0
  800. pygpt_net/data/js/highlight/languages/erlang.js +209 -0
  801. pygpt_net/data/js/highlight/languages/erlang.min.js +28 -0
  802. pygpt_net/data/js/highlight/languages/excel.js +555 -0
  803. pygpt_net/data/js/highlight/languages/excel.min.js +10 -0
  804. pygpt_net/data/js/highlight/languages/fix.js +49 -0
  805. pygpt_net/data/js/highlight/languages/fix.min.js +7 -0
  806. pygpt_net/data/js/highlight/languages/flix.js +89 -0
  807. pygpt_net/data/js/highlight/languages/flix.min.js +10 -0
  808. pygpt_net/data/js/highlight/languages/fortran.js +584 -0
  809. pygpt_net/data/js/highlight/languages/fortran.min.js +17 -0
  810. pygpt_net/data/js/highlight/languages/fsharp.js +637 -0
  811. pygpt_net/data/js/highlight/languages/fsharp.min.js +47 -0
  812. pygpt_net/data/js/highlight/languages/gams.js +191 -0
  813. pygpt_net/data/js/highlight/languages/gams.min.js +28 -0
  814. pygpt_net/data/js/highlight/languages/gauss.js +316 -0
  815. pygpt_net/data/js/highlight/languages/gauss.min.js +36 -0
  816. pygpt_net/data/js/highlight/languages/gcode.js +91 -0
  817. pygpt_net/data/js/highlight/languages/gcode.min.js +16 -0
  818. pygpt_net/data/js/highlight/languages/gherkin.js +59 -0
  819. pygpt_net/data/js/highlight/languages/gherkin.min.js +8 -0
  820. pygpt_net/data/js/highlight/languages/glsl.js +138 -0
  821. pygpt_net/data/js/highlight/languages/glsl.min.js +8 -0
  822. pygpt_net/data/js/highlight/languages/gml.js +3140 -0
  823. pygpt_net/data/js/highlight/languages/gml.min.js +10 -0
  824. pygpt_net/data/js/highlight/languages/go.js +166 -0
  825. pygpt_net/data/js/highlight/languages/go.min.js +20 -0
  826. pygpt_net/data/js/highlight/languages/golo.js +91 -0
  827. pygpt_net/data/js/highlight/languages/golo.min.js +6 -0
  828. pygpt_net/data/js/highlight/languages/gradle.js +200 -0
  829. pygpt_net/data/js/highlight/languages/gradle.min.js +5 -0
  830. pygpt_net/data/js/highlight/languages/graphql.js +88 -0
  831. pygpt_net/data/js/highlight/languages/graphql.min.js +12 -0
  832. pygpt_net/data/js/highlight/languages/groovy.js +200 -0
  833. pygpt_net/data/js/highlight/languages/groovy.min.js +21 -0
  834. pygpt_net/data/js/highlight/languages/haml.js +123 -0
  835. pygpt_net/data/js/highlight/languages/haml.min.js +18 -0
  836. pygpt_net/data/js/highlight/languages/handlebars.js +268 -0
  837. pygpt_net/data/js/highlight/languages/handlebars.min.js +29 -0
  838. pygpt_net/data/js/highlight/languages/haskell.js +227 -0
  839. pygpt_net/data/js/highlight/languages/haskell.min.js +32 -0
  840. pygpt_net/data/js/highlight/languages/haxe.js +177 -0
  841. pygpt_net/data/js/highlight/languages/haxe.min.js +29 -0
  842. pygpt_net/data/js/highlight/languages/hsp.js +69 -0
  843. pygpt_net/data/js/highlight/languages/hsp.min.js +14 -0
  844. pygpt_net/data/js/highlight/languages/http.js +107 -0
  845. pygpt_net/data/js/highlight/languages/http.min.js +14 -0
  846. pygpt_net/data/js/highlight/languages/hy.js +147 -0
  847. pygpt_net/data/js/highlight/languages/hy.min.js +16 -0
  848. pygpt_net/data/js/highlight/languages/inform7.js +80 -0
  849. pygpt_net/data/js/highlight/languages/inform7.min.js +11 -0
  850. pygpt_net/data/js/highlight/languages/ini.js +131 -0
  851. pygpt_net/data/js/highlight/languages/ini.min.js +15 -0
  852. pygpt_net/data/js/highlight/languages/irpf90.js +117 -0
  853. pygpt_net/data/js/highlight/languages/irpf90.min.js +15 -0
  854. pygpt_net/data/js/highlight/languages/isbl.js +3215 -0
  855. pygpt_net/data/js/highlight/languages/isbl.min.js +25 -0
  856. pygpt_net/data/js/highlight/languages/java.js +300 -0
  857. pygpt_net/data/js/highlight/languages/java.min.js +38 -0
  858. pygpt_net/data/js/highlight/languages/javascript.js +777 -0
  859. pygpt_net/data/js/highlight/languages/javascript.min.js +81 -0
  860. pygpt_net/data/js/highlight/languages/jboss-cli.js +73 -0
  861. pygpt_net/data/js/highlight/languages/jboss-cli.min.js +10 -0
  862. pygpt_net/data/js/highlight/languages/json.js +64 -0
  863. pygpt_net/data/js/highlight/languages/json.min.js +8 -0
  864. pygpt_net/data/js/highlight/languages/julia-repl.js +61 -0
  865. pygpt_net/data/js/highlight/languages/julia-repl.min.js +5 -0
  866. pygpt_net/data/js/highlight/languages/julia.js +452 -0
  867. pygpt_net/data/js/highlight/languages/julia.min.js +18 -0
  868. pygpt_net/data/js/highlight/languages/kotlin.js +296 -0
  869. pygpt_net/data/js/highlight/languages/kotlin.min.js +46 -0
  870. pygpt_net/data/js/highlight/languages/lasso.js +181 -0
  871. pygpt_net/data/js/highlight/languages/lasso.min.js +29 -0
  872. pygpt_net/data/js/highlight/languages/latex.js +288 -0
  873. pygpt_net/data/js/highlight/languages/latex.min.js +33 -0
  874. pygpt_net/data/js/highlight/languages/ldif.js +41 -0
  875. pygpt_net/data/js/highlight/languages/ldif.min.js +5 -0
  876. pygpt_net/data/js/highlight/languages/leaf.js +107 -0
  877. pygpt_net/data/js/highlight/languages/leaf.min.js +12 -0
  878. pygpt_net/data/js/highlight/languages/less.js +965 -0
  879. pygpt_net/data/js/highlight/languages/less.min.js +45 -0
  880. pygpt_net/data/js/highlight/languages/lisp.js +149 -0
  881. pygpt_net/data/js/highlight/languages/lisp.min.js +17 -0
  882. pygpt_net/data/js/highlight/languages/livecodeserver.js +183 -0
  883. pygpt_net/data/js/highlight/languages/livecodeserver.min.js +21 -0
  884. pygpt_net/data/js/highlight/languages/livescript.js +388 -0
  885. pygpt_net/data/js/highlight/languages/livescript.min.js +35 -0
  886. pygpt_net/data/js/highlight/languages/llvm.js +145 -0
  887. pygpt_net/data/js/highlight/languages/llvm.min.js +16 -0
  888. pygpt_net/data/js/highlight/languages/lsl.js +86 -0
  889. pygpt_net/data/js/highlight/languages/lsl.min.js +19 -0
  890. pygpt_net/data/js/highlight/languages/lua.js +90 -0
  891. pygpt_net/data/js/highlight/languages/lua.min.js +15 -0
  892. pygpt_net/data/js/highlight/languages/makefile.js +96 -0
  893. pygpt_net/data/js/highlight/languages/makefile.min.js +14 -0
  894. pygpt_net/data/js/highlight/languages/markdown.js +258 -0
  895. pygpt_net/data/js/highlight/languages/markdown.min.js +32 -0
  896. pygpt_net/data/js/highlight/languages/mathematica.js +7369 -0
  897. pygpt_net/data/js/highlight/languages/mathematica.min.js +21 -0
  898. pygpt_net/data/js/highlight/languages/matlab.js +117 -0
  899. pygpt_net/data/js/highlight/languages/matlab.min.js +15 -0
  900. pygpt_net/data/js/highlight/languages/maxima.js +424 -0
  901. pygpt_net/data/js/highlight/languages/maxima.min.js +12 -0
  902. pygpt_net/data/js/highlight/languages/mel.js +245 -0
  903. pygpt_net/data/js/highlight/languages/mel.min.js +8 -0
  904. pygpt_net/data/js/highlight/languages/mercury.js +118 -0
  905. pygpt_net/data/js/highlight/languages/mercury.min.js +16 -0
  906. pygpt_net/data/js/highlight/languages/mipsasm.js +114 -0
  907. pygpt_net/data/js/highlight/languages/mipsasm.min.js +15 -0
  908. pygpt_net/data/js/highlight/languages/mizar.js +37 -0
  909. pygpt_net/data/js/highlight/languages/mizar.min.js +4 -0
  910. pygpt_net/data/js/highlight/languages/mojolicious.js +46 -0
  911. pygpt_net/data/js/highlight/languages/mojolicious.min.js +6 -0
  912. pygpt_net/data/js/highlight/languages/monkey.js +194 -0
  913. pygpt_net/data/js/highlight/languages/monkey.min.js +17 -0
  914. pygpt_net/data/js/highlight/languages/moonscript.js +151 -0
  915. pygpt_net/data/js/highlight/languages/moonscript.min.js +23 -0
  916. pygpt_net/data/js/highlight/languages/n1ql.js +375 -0
  917. pygpt_net/data/js/highlight/languages/n1ql.min.js +13 -0
  918. pygpt_net/data/js/highlight/languages/nestedtext.js +93 -0
  919. pygpt_net/data/js/highlight/languages/nestedtext.min.js +9 -0
  920. pygpt_net/data/js/highlight/languages/nginx.js +163 -0
  921. pygpt_net/data/js/highlight/languages/nginx.min.js +21 -0
  922. pygpt_net/data/js/highlight/languages/nim.js +195 -0
  923. pygpt_net/data/js/highlight/languages/nim.min.js +15 -0
  924. pygpt_net/data/js/highlight/languages/nix.js +105 -0
  925. pygpt_net/data/js/highlight/languages/nix.min.js +13 -0
  926. pygpt_net/data/js/highlight/languages/node-repl.js +43 -0
  927. pygpt_net/data/js/highlight/languages/node-repl.min.js +5 -0
  928. pygpt_net/data/js/highlight/languages/nsis.js +567 -0
  929. pygpt_net/data/js/highlight/languages/nsis.min.js +23 -0
  930. pygpt_net/data/js/highlight/languages/objectivec.js +263 -0
  931. pygpt_net/data/js/highlight/languages/objectivec.min.js +23 -0
  932. pygpt_net/data/js/highlight/languages/ocaml.js +93 -0
  933. pygpt_net/data/js/highlight/languages/ocaml.min.js +14 -0
  934. pygpt_net/data/js/highlight/languages/openscad.js +87 -0
  935. pygpt_net/data/js/highlight/languages/openscad.min.js +15 -0
  936. pygpt_net/data/js/highlight/languages/oxygene.js +97 -0
  937. pygpt_net/data/js/highlight/languages/oxygene.min.js +13 -0
  938. pygpt_net/data/js/highlight/languages/parser3.js +65 -0
  939. pygpt_net/data/js/highlight/languages/parser3.min.js +10 -0
  940. pygpt_net/data/js/highlight/languages/perl.js +514 -0
  941. pygpt_net/data/js/highlight/languages/perl.min.js +41 -0
  942. pygpt_net/data/js/highlight/languages/pf.js +70 -0
  943. pygpt_net/data/js/highlight/languages/pf.min.js +10 -0
  944. pygpt_net/data/js/highlight/languages/pgsql.js +535 -0
  945. pygpt_net/data/js/highlight/languages/pgsql.min.js +69 -0
  946. pygpt_net/data/js/highlight/languages/php-template.js +64 -0
  947. pygpt_net/data/js/highlight/languages/php-template.min.js +8 -0
  948. pygpt_net/data/js/highlight/languages/php.js +623 -0
  949. pygpt_net/data/js/highlight/languages/php.min.js +58 -0
  950. pygpt_net/data/js/highlight/languages/plaintext.js +29 -0
  951. pygpt_net/data/js/highlight/languages/plaintext.min.js +4 -0
  952. pygpt_net/data/js/highlight/languages/pony.js +100 -0
  953. pygpt_net/data/js/highlight/languages/pony.min.js +12 -0
  954. pygpt_net/data/js/highlight/languages/powershell.js +327 -0
  955. pygpt_net/data/js/highlight/languages/powershell.min.js +39 -0
  956. pygpt_net/data/js/highlight/languages/processing.js +444 -0
  957. pygpt_net/data/js/highlight/languages/processing.min.js +18 -0
  958. pygpt_net/data/js/highlight/languages/profile.js +53 -0
  959. pygpt_net/data/js/highlight/languages/profile.min.js +9 -0
  960. pygpt_net/data/js/highlight/languages/prolog.js +107 -0
  961. pygpt_net/data/js/highlight/languages/prolog.min.js +11 -0
  962. pygpt_net/data/js/highlight/languages/properties.js +78 -0
  963. pygpt_net/data/js/highlight/languages/properties.min.js +10 -0
  964. pygpt_net/data/js/highlight/languages/protobuf.js +89 -0
  965. pygpt_net/data/js/highlight/languages/protobuf.min.js +11 -0
  966. pygpt_net/data/js/highlight/languages/puppet.js +156 -0
  967. pygpt_net/data/js/highlight/languages/puppet.min.js +18 -0
  968. pygpt_net/data/js/highlight/languages/purebasic.js +110 -0
  969. pygpt_net/data/js/highlight/languages/purebasic.min.js +11 -0
  970. pygpt_net/data/js/highlight/languages/python-repl.js +42 -0
  971. pygpt_net/data/js/highlight/languages/python-repl.min.js +5 -0
  972. pygpt_net/data/js/highlight/languages/python.js +446 -0
  973. pygpt_net/data/js/highlight/languages/python.min.js +42 -0
  974. pygpt_net/data/js/highlight/languages/q.js +48 -0
  975. pygpt_net/data/js/highlight/languages/q.min.js +8 -0
  976. pygpt_net/data/js/highlight/languages/qml.js +199 -0
  977. pygpt_net/data/js/highlight/languages/qml.min.js +29 -0
  978. pygpt_net/data/js/highlight/languages/r.js +267 -0
  979. pygpt_net/data/js/highlight/languages/r.min.js +26 -0
  980. pygpt_net/data/js/highlight/languages/reasonml.js +152 -0
  981. pygpt_net/data/js/highlight/languages/reasonml.min.js +18 -0
  982. pygpt_net/data/js/highlight/languages/rib.js +47 -0
  983. pygpt_net/data/js/highlight/languages/rib.min.js +6 -0
  984. pygpt_net/data/js/highlight/languages/roboconf.js +92 -0
  985. pygpt_net/data/js/highlight/languages/roboconf.min.js +12 -0
  986. pygpt_net/data/js/highlight/languages/routeros.js +174 -0
  987. pygpt_net/data/js/highlight/languages/routeros.min.js +22 -0
  988. pygpt_net/data/js/highlight/languages/rsl.js +159 -0
  989. pygpt_net/data/js/highlight/languages/rsl.min.js +11 -0
  990. pygpt_net/data/js/highlight/languages/ruby.js +458 -0
  991. pygpt_net/data/js/highlight/languages/ruby.min.js +54 -0
  992. pygpt_net/data/js/highlight/languages/ruleslanguage.js +86 -0
  993. pygpt_net/data/js/highlight/languages/ruleslanguage.min.js +9 -0
  994. pygpt_net/data/js/highlight/languages/rust.js +326 -0
  995. pygpt_net/data/js/highlight/languages/rust.min.js +27 -0
  996. pygpt_net/data/js/highlight/languages/sas.js +567 -0
  997. pygpt_net/data/js/highlight/languages/sas.min.js +18 -0
  998. pygpt_net/data/js/highlight/languages/scala.js +224 -0
  999. pygpt_net/data/js/highlight/languages/scala.min.js +28 -0
  1000. pygpt_net/data/js/highlight/languages/scheme.js +206 -0
  1001. pygpt_net/data/js/highlight/languages/scheme.min.js +20 -0
  1002. pygpt_net/data/js/highlight/languages/scilab.js +83 -0
  1003. pygpt_net/data/js/highlight/languages/scilab.min.js +13 -0
  1004. pygpt_net/data/js/highlight/languages/scss.js +854 -0
  1005. pygpt_net/data/js/highlight/languages/scss.min.js +33 -0
  1006. pygpt_net/data/js/highlight/languages/shell.js +43 -0
  1007. pygpt_net/data/js/highlight/languages/shell.min.js +5 -0
  1008. pygpt_net/data/js/highlight/languages/smali.js +136 -0
  1009. pygpt_net/data/js/highlight/languages/smali.min.js +13 -0
  1010. pygpt_net/data/js/highlight/languages/smalltalk.js +79 -0
  1011. pygpt_net/data/js/highlight/languages/smalltalk.min.js +11 -0
  1012. pygpt_net/data/js/highlight/languages/sml.js +85 -0
  1013. pygpt_net/data/js/highlight/languages/sml.min.js +14 -0
  1014. pygpt_net/data/js/highlight/languages/sqf.js +2672 -0
  1015. pygpt_net/data/js/highlight/languages/sqf.min.js +17 -0
  1016. pygpt_net/data/js/highlight/languages/sql.js +692 -0
  1017. pygpt_net/data/js/highlight/languages/sql.min.js +17 -0
  1018. pygpt_net/data/js/highlight/languages/stan.js +531 -0
  1019. pygpt_net/data/js/highlight/languages/stan.min.js +28 -0
  1020. pygpt_net/data/js/highlight/languages/stata.js +63 -0
  1021. pygpt_net/data/js/highlight/languages/stata.min.js +11 -0
  1022. pygpt_net/data/js/highlight/languages/step21.js +77 -0
  1023. pygpt_net/data/js/highlight/languages/step21.min.js +10 -0
  1024. pygpt_net/data/js/highlight/languages/stylus.js +914 -0
  1025. pygpt_net/data/js/highlight/languages/stylus.min.js +36 -0
  1026. pygpt_net/data/js/highlight/languages/subunit.js +54 -0
  1027. pygpt_net/data/js/highlight/languages/subunit.min.js +9 -0
  1028. pygpt_net/data/js/highlight/languages/swift.js +953 -0
  1029. pygpt_net/data/js/highlight/languages/swift.min.js +66 -0
  1030. pygpt_net/data/js/highlight/languages/taggerscript.js +69 -0
  1031. pygpt_net/data/js/highlight/languages/taggerscript.min.js +8 -0
  1032. pygpt_net/data/js/highlight/languages/tap.js +57 -0
  1033. pygpt_net/data/js/highlight/languages/tap.min.js +7 -0
  1034. pygpt_net/data/js/highlight/languages/tcl.js +201 -0
  1035. pygpt_net/data/js/highlight/languages/tcl.min.js +15 -0
  1036. pygpt_net/data/js/highlight/languages/thrift.js +87 -0
  1037. pygpt_net/data/js/highlight/languages/thrift.min.js +12 -0
  1038. pygpt_net/data/js/highlight/languages/tp.js +182 -0
  1039. pygpt_net/data/js/highlight/languages/tp.min.js +19 -0
  1040. pygpt_net/data/js/highlight/languages/twig.js +270 -0
  1041. pygpt_net/data/js/highlight/languages/twig.min.js +18 -0
  1042. pygpt_net/data/js/highlight/languages/typescript.js +911 -0
  1043. pygpt_net/data/js/highlight/languages/typescript.min.js +98 -0
  1044. pygpt_net/data/js/highlight/languages/vala.js +71 -0
  1045. pygpt_net/data/js/highlight/languages/vala.min.js +9 -0
  1046. pygpt_net/data/js/highlight/languages/vbnet.js +167 -0
  1047. pygpt_net/data/js/highlight/languages/vbnet.min.js +25 -0
  1048. pygpt_net/data/js/highlight/languages/vbscript-html.js +34 -0
  1049. pygpt_net/data/js/highlight/languages/vbscript-html.min.js +4 -0
  1050. pygpt_net/data/js/highlight/languages/vbscript.js +230 -0
  1051. pygpt_net/data/js/highlight/languages/vbscript.min.js +10 -0
  1052. pygpt_net/data/js/highlight/languages/verilog.js +560 -0
  1053. pygpt_net/data/js/highlight/languages/verilog.min.js +17 -0
  1054. pygpt_net/data/js/highlight/languages/vhdl.js +226 -0
  1055. pygpt_net/data/js/highlight/languages/vhdl.min.js +13 -0
  1056. pygpt_net/data/js/highlight/languages/vim.js +139 -0
  1057. pygpt_net/data/js/highlight/languages/vim.min.js +12 -0
  1058. pygpt_net/data/js/highlight/languages/wasm.js +149 -0
  1059. pygpt_net/data/js/highlight/languages/wasm.min.js +14 -0
  1060. pygpt_net/data/js/highlight/languages/wren.js +312 -0
  1061. pygpt_net/data/js/highlight/languages/wren.min.js +30 -0
  1062. pygpt_net/data/js/highlight/languages/x86asm.js +163 -0
  1063. pygpt_net/data/js/highlight/languages/x86asm.min.js +19 -0
  1064. pygpt_net/data/js/highlight/languages/xl.js +215 -0
  1065. pygpt_net/data/js/highlight/languages/xl.min.js +15 -0
  1066. pygpt_net/data/js/highlight/languages/xml.js +251 -0
  1067. pygpt_net/data/js/highlight/languages/xml.min.js +29 -0
  1068. pygpt_net/data/js/highlight/languages/xquery.js +370 -0
  1069. pygpt_net/data/js/highlight/languages/xquery.min.js +33 -0
  1070. pygpt_net/data/js/highlight/languages/yaml.js +205 -0
  1071. pygpt_net/data/js/highlight/languages/yaml.min.js +25 -0
  1072. pygpt_net/data/js/highlight/languages/zephir.js +139 -0
  1073. pygpt_net/data/js/highlight/languages/zephir.min.js +18 -0
  1074. pygpt_net/data/js/highlight/package.json +93 -0
  1075. pygpt_net/data/js/highlight/styles/1c-light.css +107 -0
  1076. pygpt_net/data/js/highlight/styles/1c-light.min.css +9 -0
  1077. pygpt_net/data/js/highlight/styles/a11y-dark.css +94 -0
  1078. pygpt_net/data/js/highlight/styles/a11y-dark.min.css +7 -0
  1079. pygpt_net/data/js/highlight/styles/a11y-light.css +94 -0
  1080. pygpt_net/data/js/highlight/styles/a11y-light.min.css +7 -0
  1081. pygpt_net/data/js/highlight/styles/agate.css +127 -0
  1082. pygpt_net/data/js/highlight/styles/agate.min.css +20 -0
  1083. pygpt_net/data/js/highlight/styles/an-old-hope.css +75 -0
  1084. pygpt_net/data/js/highlight/styles/an-old-hope.min.css +9 -0
  1085. pygpt_net/data/js/highlight/styles/androidstudio.css +60 -0
  1086. pygpt_net/data/js/highlight/styles/androidstudio.min.css +1 -0
  1087. pygpt_net/data/js/highlight/styles/arduino-light.css +78 -0
  1088. pygpt_net/data/js/highlight/styles/arduino-light.min.css +1 -0
  1089. pygpt_net/data/js/highlight/styles/arta.css +66 -0
  1090. pygpt_net/data/js/highlight/styles/arta.min.css +1 -0
  1091. pygpt_net/data/js/highlight/styles/ascetic.css +45 -0
  1092. pygpt_net/data/js/highlight/styles/ascetic.min.css +1 -0
  1093. pygpt_net/data/js/highlight/styles/atom-one-dark-reasonable.css +105 -0
  1094. pygpt_net/data/js/highlight/styles/atom-one-dark-reasonable.min.css +1 -0
  1095. pygpt_net/data/js/highlight/styles/atom-one-dark.css +90 -0
  1096. pygpt_net/data/js/highlight/styles/atom-one-dark.min.css +1 -0
  1097. pygpt_net/data/js/highlight/styles/atom-one-light.css +90 -0
  1098. pygpt_net/data/js/highlight/styles/atom-one-light.min.css +1 -0
  1099. pygpt_net/data/js/highlight/styles/brown-paper.css +63 -0
  1100. pygpt_net/data/js/highlight/styles/brown-paper.min.css +1 -0
  1101. pygpt_net/data/js/highlight/styles/brown-papersq.png +0 -0
  1102. pygpt_net/data/js/highlight/styles/codepen-embed.css +57 -0
  1103. pygpt_net/data/js/highlight/styles/codepen-embed.min.css +1 -0
  1104. pygpt_net/data/js/highlight/styles/codeschool.css +163 -0
  1105. pygpt_net/data/js/highlight/styles/codeschool.min.css +7 -0
  1106. pygpt_net/data/js/highlight/styles/color-brewer.css +66 -0
  1107. pygpt_net/data/js/highlight/styles/color-brewer.min.css +1 -0
  1108. pygpt_net/data/js/highlight/styles/darcula.css +163 -0
  1109. pygpt_net/data/js/highlight/styles/darcula.min.css +7 -0
  1110. pygpt_net/data/js/highlight/styles/dark.css +62 -0
  1111. pygpt_net/data/js/highlight/styles/dark.min.css +1 -0
  1112. pygpt_net/data/js/highlight/styles/default-dark.css +163 -0
  1113. pygpt_net/data/js/highlight/styles/default-dark.min.css +7 -0
  1114. pygpt_net/data/js/highlight/styles/default-light.css +163 -0
  1115. pygpt_net/data/js/highlight/styles/default-light.min.css +7 -0
  1116. pygpt_net/data/js/highlight/styles/default.css +117 -0
  1117. pygpt_net/data/js/highlight/styles/default.min.css +9 -0
  1118. pygpt_net/data/js/highlight/styles/devibeans.css +90 -0
  1119. pygpt_net/data/js/highlight/styles/devibeans.min.css +7 -0
  1120. pygpt_net/data/js/highlight/styles/docco.css +83 -0
  1121. pygpt_net/data/js/highlight/styles/docco.min.css +1 -0
  1122. pygpt_net/data/js/highlight/styles/far.css +67 -0
  1123. pygpt_net/data/js/highlight/styles/far.min.css +1 -0
  1124. pygpt_net/data/js/highlight/styles/felipec.css +94 -0
  1125. pygpt_net/data/js/highlight/styles/felipec.min.css +7 -0
  1126. pygpt_net/data/js/highlight/styles/foundation.css +80 -0
  1127. pygpt_net/data/js/highlight/styles/foundation.min.css +1 -0
  1128. pygpt_net/data/js/highlight/styles/github-dark-dimmed.css +117 -0
  1129. pygpt_net/data/js/highlight/styles/github-dark-dimmed.min.css +9 -0
  1130. pygpt_net/data/js/highlight/styles/github-dark.css +118 -0
  1131. pygpt_net/data/js/highlight/styles/github-dark.min.css +10 -0
  1132. pygpt_net/data/js/highlight/styles/github.css +118 -0
  1133. pygpt_net/data/js/highlight/styles/github.min.css +10 -0
  1134. pygpt_net/data/js/highlight/styles/gml.css +72 -0
  1135. pygpt_net/data/js/highlight/styles/gml.min.css +1 -0
  1136. pygpt_net/data/js/highlight/styles/googlecode.css +79 -0
  1137. pygpt_net/data/js/highlight/styles/googlecode.min.css +1 -0
  1138. pygpt_net/data/js/highlight/styles/gradient-dark.css +90 -0
  1139. pygpt_net/data/js/highlight/styles/gradient-dark.min.css +1 -0
  1140. pygpt_net/data/js/highlight/styles/gradient-light.css +90 -0
  1141. pygpt_net/data/js/highlight/styles/gradient-light.min.css +1 -0
  1142. pygpt_net/data/js/highlight/styles/grayscale.css +89 -0
  1143. pygpt_net/data/js/highlight/styles/grayscale.min.css +1 -0
  1144. pygpt_net/data/js/highlight/styles/hybrid.css +88 -0
  1145. pygpt_net/data/js/highlight/styles/hybrid.min.css +1 -0
  1146. pygpt_net/data/js/highlight/styles/idea.css +86 -0
  1147. pygpt_net/data/js/highlight/styles/idea.min.css +1 -0
  1148. pygpt_net/data/js/highlight/styles/intellij-light.css +107 -0
  1149. pygpt_net/data/js/highlight/styles/intellij-light.min.css +1 -0
  1150. pygpt_net/data/js/highlight/styles/ir-black.css +66 -0
  1151. pygpt_net/data/js/highlight/styles/ir-black.min.css +1 -0
  1152. pygpt_net/data/js/highlight/styles/isbl-editor-dark.css +94 -0
  1153. pygpt_net/data/js/highlight/styles/isbl-editor-dark.min.css +1 -0
  1154. pygpt_net/data/js/highlight/styles/isbl-editor-light.css +93 -0
  1155. pygpt_net/data/js/highlight/styles/isbl-editor-light.min.css +1 -0
  1156. pygpt_net/data/js/highlight/styles/kimbie-dark.css +69 -0
  1157. pygpt_net/data/js/highlight/styles/kimbie-dark.min.css +1 -0
  1158. pygpt_net/data/js/highlight/styles/kimbie-light.css +69 -0
  1159. pygpt_net/data/js/highlight/styles/kimbie-light.min.css +1 -0
  1160. pygpt_net/data/js/highlight/styles/lightfair.css +81 -0
  1161. pygpt_net/data/js/highlight/styles/lightfair.min.css +1 -0
  1162. pygpt_net/data/js/highlight/styles/lioshi.css +76 -0
  1163. pygpt_net/data/js/highlight/styles/lioshi.min.css +1 -0
  1164. pygpt_net/data/js/highlight/styles/magula.css +66 -0
  1165. pygpt_net/data/js/highlight/styles/magula.min.css +1 -0
  1166. pygpt_net/data/js/highlight/styles/material-darker.css +163 -0
  1167. pygpt_net/data/js/highlight/styles/material-darker.min.css +7 -0
  1168. pygpt_net/data/js/highlight/styles/material-lighter.css +163 -0
  1169. pygpt_net/data/js/highlight/styles/material-lighter.min.css +7 -0
  1170. pygpt_net/data/js/highlight/styles/material-palenight.css +163 -0
  1171. pygpt_net/data/js/highlight/styles/material-palenight.min.css +7 -0
  1172. pygpt_net/data/js/highlight/styles/material-vivid.css +163 -0
  1173. pygpt_net/data/js/highlight/styles/material-vivid.min.css +7 -0
  1174. pygpt_net/data/js/highlight/styles/material.css +163 -0
  1175. pygpt_net/data/js/highlight/styles/material.min.css +7 -0
  1176. pygpt_net/data/js/highlight/styles/mono-blue.css +56 -0
  1177. pygpt_net/data/js/highlight/styles/mono-blue.min.css +1 -0
  1178. pygpt_net/data/js/highlight/styles/monokai-sublime.css +76 -0
  1179. pygpt_net/data/js/highlight/styles/monokai-sublime.min.css +1 -0
  1180. pygpt_net/data/js/highlight/styles/monokai.css +70 -0
  1181. pygpt_net/data/js/highlight/styles/monokai.min.css +1 -0
  1182. pygpt_net/data/js/highlight/styles/night-owl.css +174 -0
  1183. pygpt_net/data/js/highlight/styles/night-owl.min.css +1 -0
  1184. pygpt_net/data/js/highlight/styles/nnfx-dark.css +104 -0
  1185. pygpt_net/data/js/highlight/styles/nnfx-dark.min.css +10 -0
  1186. pygpt_net/data/js/highlight/styles/nnfx-light.css +104 -0
  1187. pygpt_net/data/js/highlight/styles/nnfx-light.min.css +10 -0
  1188. pygpt_net/data/js/highlight/styles/nord.css +275 -0
  1189. pygpt_net/data/js/highlight/styles/nord.min.css +1 -0
  1190. pygpt_net/data/js/highlight/styles/obsidian.css +79 -0
  1191. pygpt_net/data/js/highlight/styles/obsidian.min.css +1 -0
  1192. pygpt_net/data/js/highlight/styles/panda-syntax-dark.css +92 -0
  1193. pygpt_net/data/js/highlight/styles/panda-syntax-dark.min.css +1 -0
  1194. pygpt_net/data/js/highlight/styles/panda-syntax-light.css +89 -0
  1195. pygpt_net/data/js/highlight/styles/panda-syntax-light.min.css +1 -0
  1196. pygpt_net/data/js/highlight/styles/paraiso-dark.css +67 -0
  1197. pygpt_net/data/js/highlight/styles/paraiso-dark.min.css +1 -0
  1198. pygpt_net/data/js/highlight/styles/paraiso-light.css +67 -0
  1199. pygpt_net/data/js/highlight/styles/paraiso-light.min.css +1 -0
  1200. pygpt_net/data/js/highlight/styles/pojoaque.css +76 -0
  1201. pygpt_net/data/js/highlight/styles/pojoaque.jpg +0 -0
  1202. pygpt_net/data/js/highlight/styles/pojoaque.min.css +1 -0
  1203. pygpt_net/data/js/highlight/styles/purebasic.css +103 -0
  1204. pygpt_net/data/js/highlight/styles/purebasic.min.css +1 -0
  1205. pygpt_net/data/js/highlight/styles/qtcreator-dark.css +76 -0
  1206. pygpt_net/data/js/highlight/styles/qtcreator-dark.min.css +1 -0
  1207. pygpt_net/data/js/highlight/styles/qtcreator-light.css +74 -0
  1208. pygpt_net/data/js/highlight/styles/qtcreator-light.min.css +1 -0
  1209. pygpt_net/data/js/highlight/styles/rainbow.css +77 -0
  1210. pygpt_net/data/js/highlight/styles/rainbow.min.css +1 -0
  1211. pygpt_net/data/js/highlight/styles/routeros.css +86 -0
  1212. pygpt_net/data/js/highlight/styles/routeros.min.css +1 -0
  1213. pygpt_net/data/js/highlight/styles/school-book.css +62 -0
  1214. pygpt_net/data/js/highlight/styles/school-book.min.css +1 -0
  1215. pygpt_net/data/js/highlight/styles/shades-of-purple.css +84 -0
  1216. pygpt_net/data/js/highlight/styles/shades-of-purple.min.css +1 -0
  1217. pygpt_net/data/js/highlight/styles/srcery.css +89 -0
  1218. pygpt_net/data/js/highlight/styles/srcery.min.css +1 -0
  1219. pygpt_net/data/js/highlight/styles/stackoverflow-dark.css +117 -0
  1220. pygpt_net/data/js/highlight/styles/stackoverflow-dark.min.css +13 -0
  1221. pygpt_net/data/js/highlight/styles/stackoverflow-light.css +117 -0
  1222. pygpt_net/data/js/highlight/styles/stackoverflow-light.min.css +13 -0
  1223. pygpt_net/data/js/highlight/styles/sunburst.css +89 -0
  1224. pygpt_net/data/js/highlight/styles/sunburst.min.css +1 -0
  1225. pygpt_net/data/js/highlight/styles/tokyo-night-dark.css +114 -0
  1226. pygpt_net/data/js/highlight/styles/tokyo-night-dark.min.css +8 -0
  1227. pygpt_net/data/js/highlight/styles/tokyo-night-light.css +114 -0
  1228. pygpt_net/data/js/highlight/styles/tokyo-night-light.min.css +8 -0
  1229. pygpt_net/data/js/highlight/styles/tomorrow-night-blue.css +69 -0
  1230. pygpt_net/data/js/highlight/styles/tomorrow-night-blue.min.css +1 -0
  1231. pygpt_net/data/js/highlight/styles/tomorrow-night-bright.css +68 -0
  1232. pygpt_net/data/js/highlight/styles/tomorrow-night-bright.min.css +1 -0
  1233. pygpt_net/data/js/highlight/styles/vs.css +63 -0
  1234. pygpt_net/data/js/highlight/styles/vs.min.css +1 -0
  1235. pygpt_net/data/js/highlight/styles/vs2015.css +100 -0
  1236. pygpt_net/data/js/highlight/styles/vs2015.min.css +1 -0
  1237. pygpt_net/data/js/highlight/styles/windows-10-light.css +163 -0
  1238. pygpt_net/data/js/highlight/styles/windows-10-light.min.css +7 -0
  1239. pygpt_net/data/js/highlight/styles/windows-10.css +163 -0
  1240. pygpt_net/data/js/highlight/styles/windows-10.min.css +7 -0
  1241. pygpt_net/data/js/highlight/styles/xcode.css +90 -0
  1242. pygpt_net/data/js/highlight/styles/xcode.min.css +1 -0
  1243. pygpt_net/data/js/highlight/styles/xt256.css +79 -0
  1244. pygpt_net/data/js/highlight/styles/xt256.min.css +1 -0
  1245. pygpt_net/data/js/katex/auto-render.min.js +1 -0
  1246. pygpt_net/data/js/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
  1247. pygpt_net/data/js/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
  1248. pygpt_net/data/js/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  1249. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  1250. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  1251. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  1252. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  1253. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  1254. pygpt_net/data/js/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  1255. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  1256. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  1257. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  1258. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  1259. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  1260. pygpt_net/data/js/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  1261. pygpt_net/data/js/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
  1262. pygpt_net/data/js/katex/fonts/KaTeX_Main-Bold.woff +0 -0
  1263. pygpt_net/data/js/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  1264. pygpt_net/data/js/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  1265. pygpt_net/data/js/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  1266. pygpt_net/data/js/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  1267. pygpt_net/data/js/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
  1268. pygpt_net/data/js/katex/fonts/KaTeX_Main-Italic.woff +0 -0
  1269. pygpt_net/data/js/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  1270. pygpt_net/data/js/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
  1271. pygpt_net/data/js/katex/fonts/KaTeX_Main-Regular.woff +0 -0
  1272. pygpt_net/data/js/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  1273. pygpt_net/data/js/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  1274. pygpt_net/data/js/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  1275. pygpt_net/data/js/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  1276. pygpt_net/data/js/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
  1277. pygpt_net/data/js/katex/fonts/KaTeX_Math-Italic.woff +0 -0
  1278. pygpt_net/data/js/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  1279. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  1280. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  1281. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  1282. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  1283. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  1284. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  1285. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  1286. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  1287. pygpt_net/data/js/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  1288. pygpt_net/data/js/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
  1289. pygpt_net/data/js/katex/fonts/KaTeX_Script-Regular.woff +0 -0
  1290. pygpt_net/data/js/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  1291. pygpt_net/data/js/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
  1292. pygpt_net/data/js/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
  1293. pygpt_net/data/js/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  1294. pygpt_net/data/js/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
  1295. pygpt_net/data/js/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
  1296. pygpt_net/data/js/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  1297. pygpt_net/data/js/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
  1298. pygpt_net/data/js/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
  1299. pygpt_net/data/js/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  1300. pygpt_net/data/js/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
  1301. pygpt_net/data/js/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
  1302. pygpt_net/data/js/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  1303. pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  1304. pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  1305. pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  1306. pygpt_net/data/js/katex/katex.min.css +1 -0
  1307. pygpt_net/data/js/katex/katex.min.js +1 -0
  1308. pygpt_net/data/locale/locale.de.ini +580 -124
  1309. pygpt_net/data/locale/locale.en.ini +820 -282
  1310. pygpt_net/data/locale/locale.es.ini +580 -124
  1311. pygpt_net/data/locale/locale.fr.ini +581 -125
  1312. pygpt_net/data/locale/locale.it.ini +581 -125
  1313. pygpt_net/data/locale/locale.pl.ini +584 -128
  1314. pygpt_net/data/locale/locale.uk.ini +1046 -0
  1315. pygpt_net/data/locale/locale.zh.ini +642 -189
  1316. pygpt_net/data/locale/plugin.agent.de.ini +17 -0
  1317. pygpt_net/data/locale/plugin.agent.en.ini +13 -18
  1318. pygpt_net/data/locale/plugin.agent.es.ini +17 -0
  1319. pygpt_net/data/locale/plugin.agent.fr.ini +17 -0
  1320. pygpt_net/data/locale/plugin.agent.it.ini +17 -0
  1321. pygpt_net/data/locale/plugin.agent.pl.ini +15 -18
  1322. pygpt_net/data/locale/plugin.agent.uk.ini +17 -0
  1323. pygpt_net/data/locale/plugin.agent.zh.ini +17 -0
  1324. pygpt_net/data/locale/plugin.audio_input.de.ini +63 -0
  1325. pygpt_net/data/locale/plugin.audio_input.en.ini +41 -67
  1326. pygpt_net/data/locale/plugin.audio_input.es.ini +63 -0
  1327. pygpt_net/data/locale/plugin.audio_input.fr.ini +63 -0
  1328. pygpt_net/data/locale/plugin.audio_input.it.ini +63 -0
  1329. pygpt_net/data/locale/plugin.audio_input.pl.ini +51 -64
  1330. pygpt_net/data/locale/plugin.audio_input.uk.ini +63 -0
  1331. pygpt_net/data/locale/plugin.audio_input.zh.ini +63 -0
  1332. pygpt_net/data/locale/plugin.audio_output.de.ini +30 -0
  1333. pygpt_net/data/locale/plugin.audio_output.en.ini +23 -36
  1334. pygpt_net/data/locale/plugin.audio_output.es.ini +30 -0
  1335. pygpt_net/data/locale/plugin.audio_output.fr.ini +30 -0
  1336. pygpt_net/data/locale/plugin.audio_output.it.ini +30 -0
  1337. pygpt_net/data/locale/plugin.audio_output.pl.ini +26 -27
  1338. pygpt_net/data/locale/plugin.audio_output.uk.ini +30 -0
  1339. pygpt_net/data/locale/plugin.audio_output.zh.ini +30 -0
  1340. pygpt_net/data/locale/plugin.cmd_api.de.ini +12 -0
  1341. pygpt_net/data/locale/plugin.cmd_api.en.ini +9 -13
  1342. pygpt_net/data/locale/plugin.cmd_api.es.ini +12 -0
  1343. pygpt_net/data/locale/plugin.cmd_api.fr.ini +12 -0
  1344. pygpt_net/data/locale/plugin.cmd_api.it.ini +12 -0
  1345. pygpt_net/data/locale/plugin.cmd_api.pl.ini +10 -17
  1346. pygpt_net/data/locale/plugin.cmd_api.uk.ini +12 -0
  1347. pygpt_net/data/locale/plugin.cmd_api.zh.ini +12 -0
  1348. pygpt_net/data/locale/plugin.cmd_code_interpreter.de.ini +33 -0
  1349. pygpt_net/data/locale/plugin.cmd_code_interpreter.en.ini +60 -34
  1350. pygpt_net/data/locale/plugin.cmd_code_interpreter.es.ini +33 -0
  1351. pygpt_net/data/locale/plugin.cmd_code_interpreter.fr.ini +33 -0
  1352. pygpt_net/data/locale/plugin.cmd_code_interpreter.it.ini +33 -0
  1353. pygpt_net/data/locale/plugin.cmd_code_interpreter.pl.ini +32 -26
  1354. pygpt_net/data/locale/plugin.cmd_code_interpreter.uk.ini +33 -0
  1355. pygpt_net/data/locale/plugin.cmd_code_interpreter.zh.ini +33 -0
  1356. pygpt_net/data/locale/plugin.cmd_custom.de.ini +6 -0
  1357. pygpt_net/data/locale/plugin.cmd_custom.en.ini +4 -6
  1358. pygpt_net/data/locale/plugin.cmd_custom.es.ini +6 -0
  1359. pygpt_net/data/locale/plugin.cmd_custom.fr.ini +6 -0
  1360. pygpt_net/data/locale/plugin.cmd_custom.it.ini +6 -0
  1361. pygpt_net/data/locale/plugin.cmd_custom.pl.ini +4 -5
  1362. pygpt_net/data/locale/plugin.cmd_custom.uk.ini +6 -0
  1363. pygpt_net/data/locale/plugin.cmd_custom.zh.ini +6 -0
  1364. pygpt_net/data/locale/plugin.cmd_files.de.ini +56 -0
  1365. pygpt_net/data/locale/plugin.cmd_files.en.ini +42 -68
  1366. pygpt_net/data/locale/plugin.cmd_files.es.ini +56 -0
  1367. pygpt_net/data/locale/plugin.cmd_files.fr.ini +56 -0
  1368. pygpt_net/data/locale/plugin.cmd_files.it.ini +56 -0
  1369. pygpt_net/data/locale/plugin.cmd_files.pl.ini +55 -75
  1370. pygpt_net/data/locale/plugin.cmd_files.uk.ini +56 -0
  1371. pygpt_net/data/locale/plugin.cmd_files.zh.ini +56 -0
  1372. pygpt_net/data/locale/plugin.cmd_history.de.ini +31 -0
  1373. pygpt_net/data/locale/plugin.cmd_history.en.ini +25 -39
  1374. pygpt_net/data/locale/plugin.cmd_history.es.ini +31 -0
  1375. pygpt_net/data/locale/plugin.cmd_history.fr.ini +31 -0
  1376. pygpt_net/data/locale/plugin.cmd_history.it.ini +31 -0
  1377. pygpt_net/data/locale/plugin.cmd_history.pl.ini +28 -44
  1378. pygpt_net/data/locale/plugin.cmd_history.uk.ini +31 -0
  1379. pygpt_net/data/locale/plugin.cmd_history.zh.ini +31 -0
  1380. pygpt_net/data/locale/plugin.cmd_mouse_control.de.ini +31 -0
  1381. pygpt_net/data/locale/plugin.cmd_mouse_control.en.ini +33 -0
  1382. pygpt_net/data/locale/plugin.cmd_mouse_control.es.ini +31 -0
  1383. pygpt_net/data/locale/plugin.cmd_mouse_control.fr.ini +31 -0
  1384. pygpt_net/data/locale/plugin.cmd_mouse_control.it.ini +31 -0
  1385. pygpt_net/data/locale/plugin.cmd_mouse_control.pl.ini +31 -0
  1386. pygpt_net/data/locale/plugin.cmd_mouse_control.uk.ini +31 -0
  1387. pygpt_net/data/locale/plugin.cmd_mouse_control.zh.ini +31 -0
  1388. pygpt_net/data/locale/plugin.cmd_serial.de.ini +17 -0
  1389. pygpt_net/data/locale/plugin.cmd_serial.en.ini +13 -20
  1390. pygpt_net/data/locale/plugin.cmd_serial.es.ini +17 -0
  1391. pygpt_net/data/locale/plugin.cmd_serial.fr.ini +17 -0
  1392. pygpt_net/data/locale/plugin.cmd_serial.it.ini +17 -0
  1393. pygpt_net/data/locale/plugin.cmd_serial.pl.ini +14 -31
  1394. pygpt_net/data/locale/plugin.cmd_serial.uk.ini +17 -0
  1395. pygpt_net/data/locale/plugin.cmd_serial.zh.ini +17 -0
  1396. pygpt_net/data/locale/plugin.cmd_system.de.ini +17 -0
  1397. pygpt_net/data/locale/plugin.cmd_system.en.ini +23 -0
  1398. pygpt_net/data/locale/plugin.cmd_system.es.ini +17 -0
  1399. pygpt_net/data/locale/plugin.cmd_system.fr.ini +17 -0
  1400. pygpt_net/data/locale/plugin.cmd_system.it.ini +17 -0
  1401. pygpt_net/data/locale/plugin.cmd_system.pl.ini +17 -0
  1402. pygpt_net/data/locale/plugin.cmd_system.uk.ini +17 -0
  1403. pygpt_net/data/locale/plugin.cmd_system.zh.ini +17 -0
  1404. pygpt_net/data/locale/plugin.cmd_web.de.ini +62 -0
  1405. pygpt_net/data/locale/plugin.cmd_web.en.ini +58 -71
  1406. pygpt_net/data/locale/plugin.cmd_web.es.ini +62 -0
  1407. pygpt_net/data/locale/plugin.cmd_web.fr.ini +62 -0
  1408. pygpt_net/data/locale/plugin.cmd_web.it.ini +62 -0
  1409. pygpt_net/data/locale/plugin.cmd_web.pl.ini +59 -76
  1410. pygpt_net/data/locale/plugin.cmd_web.uk.ini +62 -0
  1411. pygpt_net/data/locale/plugin.cmd_web.zh.ini +62 -0
  1412. pygpt_net/data/locale/plugin.crontab.de.ini +9 -0
  1413. pygpt_net/data/locale/plugin.crontab.en.ini +5 -8
  1414. pygpt_net/data/locale/plugin.crontab.es.ini +9 -0
  1415. pygpt_net/data/locale/plugin.crontab.fr.ini +9 -0
  1416. pygpt_net/data/locale/plugin.crontab.it.ini +9 -0
  1417. pygpt_net/data/locale/plugin.crontab.pl.ini +7 -10
  1418. pygpt_net/data/locale/plugin.crontab.uk.ini +9 -0
  1419. pygpt_net/data/locale/plugin.crontab.zh.ini +9 -0
  1420. pygpt_net/data/locale/plugin.experts.de.ini +3 -0
  1421. pygpt_net/data/locale/plugin.experts.en.ini +3 -0
  1422. pygpt_net/data/locale/plugin.experts.es.ini +3 -0
  1423. pygpt_net/data/locale/plugin.experts.fr.ini +3 -0
  1424. pygpt_net/data/locale/plugin.experts.it.ini +3 -0
  1425. pygpt_net/data/locale/plugin.experts.pl.ini +3 -0
  1426. pygpt_net/data/locale/plugin.experts.uk.ini +3 -0
  1427. pygpt_net/data/locale/plugin.experts.zh.ini +3 -0
  1428. pygpt_net/data/locale/plugin.extra_prompt.de.ini +5 -0
  1429. pygpt_net/data/locale/plugin.extra_prompt.en.ini +3 -4
  1430. pygpt_net/data/locale/plugin.extra_prompt.es.ini +5 -0
  1431. pygpt_net/data/locale/plugin.extra_prompt.fr.ini +5 -0
  1432. pygpt_net/data/locale/plugin.extra_prompt.it.ini +5 -0
  1433. pygpt_net/data/locale/plugin.extra_prompt.pl.ini +4 -6
  1434. pygpt_net/data/locale/plugin.extra_prompt.uk.ini +5 -0
  1435. pygpt_net/data/locale/plugin.extra_prompt.zh.ini +5 -0
  1436. pygpt_net/data/locale/plugin.idx_llama_index.de.ini +23 -0
  1437. pygpt_net/data/locale/plugin.idx_llama_index.en.ini +20 -30
  1438. pygpt_net/data/locale/plugin.idx_llama_index.es.ini +23 -0
  1439. pygpt_net/data/locale/plugin.idx_llama_index.fr.ini +23 -0
  1440. pygpt_net/data/locale/plugin.idx_llama_index.it.ini +23 -0
  1441. pygpt_net/data/locale/plugin.idx_llama_index.pl.ini +21 -16
  1442. pygpt_net/data/locale/plugin.idx_llama_index.uk.ini +23 -0
  1443. pygpt_net/data/locale/plugin.idx_llama_index.zh.ini +23 -0
  1444. pygpt_net/data/locale/plugin.mailer.en.ini +21 -0
  1445. pygpt_net/data/locale/plugin.openai_dalle.de.ini +5 -0
  1446. pygpt_net/data/locale/plugin.openai_dalle.en.ini +2 -3
  1447. pygpt_net/data/locale/plugin.openai_dalle.es.ini +5 -0
  1448. pygpt_net/data/locale/plugin.openai_dalle.fr.ini +5 -0
  1449. pygpt_net/data/locale/plugin.openai_dalle.it.ini +5 -0
  1450. pygpt_net/data/locale/plugin.openai_dalle.pl.ini +3 -4
  1451. pygpt_net/data/locale/plugin.openai_dalle.uk.ini +5 -0
  1452. pygpt_net/data/locale/plugin.openai_dalle.zh.ini +5 -0
  1453. pygpt_net/data/locale/plugin.openai_vision.de.ini +15 -0
  1454. pygpt_net/data/locale/plugin.openai_vision.en.ini +11 -16
  1455. pygpt_net/data/locale/plugin.openai_vision.es.ini +15 -0
  1456. pygpt_net/data/locale/plugin.openai_vision.fr.ini +15 -0
  1457. pygpt_net/data/locale/plugin.openai_vision.it.ini +15 -0
  1458. pygpt_net/data/locale/plugin.openai_vision.pl.ini +11 -16
  1459. pygpt_net/data/locale/plugin.openai_vision.uk.ini +15 -0
  1460. pygpt_net/data/locale/plugin.openai_vision.zh.ini +15 -0
  1461. pygpt_net/data/locale/plugin.real_time.de.ini +12 -0
  1462. pygpt_net/data/locale/plugin.real_time.en.ini +8 -11
  1463. pygpt_net/data/locale/plugin.real_time.es.ini +12 -0
  1464. pygpt_net/data/locale/plugin.real_time.fr.ini +12 -0
  1465. pygpt_net/data/locale/plugin.real_time.it.ini +12 -0
  1466. pygpt_net/data/locale/plugin.real_time.pl.ini +8 -11
  1467. pygpt_net/data/locale/plugin.real_time.uk.ini +12 -0
  1468. pygpt_net/data/locale/plugin.real_time.zh.ini +12 -0
  1469. pygpt_net/data/locale/plugin.voice_control.de.ini +5 -0
  1470. pygpt_net/data/locale/plugin.voice_control.en.ini +5 -0
  1471. pygpt_net/data/locale/plugin.voice_control.es.ini +5 -0
  1472. pygpt_net/data/locale/plugin.voice_control.fr.ini +5 -0
  1473. pygpt_net/data/locale/plugin.voice_control.it.ini +5 -0
  1474. pygpt_net/data/locale/plugin.voice_control.pl.ini +5 -0
  1475. pygpt_net/data/locale/plugin.voice_control.uk.ini +5 -0
  1476. pygpt_net/data/locale/plugin.voice_control.zh.ini +5 -0
  1477. pygpt_net/data/prompts.csv +169 -0
  1478. pygpt_net/data/win32/README.rtf +0 -0
  1479. pygpt_net/data/win32/USER-LICENSE.rtf +0 -0
  1480. pygpt_net/data/win32/banner.bmp +0 -0
  1481. pygpt_net/data/win32/banner_welcome.bmp +0 -0
  1482. pygpt_net/fonts.qrc +64 -0
  1483. pygpt_net/fonts_rc.py +67878 -0
  1484. pygpt_net/icons.qrc +138 -403
  1485. pygpt_net/icons_rc.py +214 -133
  1486. pygpt_net/item/assistant.py +192 -28
  1487. pygpt_net/item/attachment.py +35 -3
  1488. pygpt_net/item/ctx.py +294 -17
  1489. pygpt_net/item/model.py +58 -3
  1490. pygpt_net/item/preset.py +41 -1
  1491. pygpt_net/item/prompt.py +63 -0
  1492. pygpt_net/js.qrc +8 -0
  1493. pygpt_net/js_rc.py +50785 -0
  1494. pygpt_net/launcher.py +81 -3
  1495. pygpt_net/migrations/Version20240408180000.py +34 -0
  1496. pygpt_net/migrations/Version20240426050000.py +55 -0
  1497. pygpt_net/migrations/Version20240501030000.py +31 -0
  1498. pygpt_net/migrations/Version20241122130000.py +34 -0
  1499. pygpt_net/migrations/Version20241126170000.py +28 -0
  1500. pygpt_net/migrations/Version20241215110000.py +25 -0
  1501. pygpt_net/migrations/__init__.py +13 -2
  1502. pygpt_net/plugin/agent/__init__.py +25 -154
  1503. pygpt_net/plugin/agent/config.py +146 -0
  1504. pygpt_net/plugin/audio_input/__init__.py +54 -263
  1505. pygpt_net/plugin/audio_input/config.py +247 -0
  1506. pygpt_net/plugin/audio_input/simple.py +68 -9
  1507. pygpt_net/plugin/audio_input/worker.py +43 -2
  1508. pygpt_net/plugin/audio_output/__init__.py +61 -34
  1509. pygpt_net/plugin/audio_output/config.py +34 -0
  1510. pygpt_net/plugin/audio_output/worker.py +56 -13
  1511. pygpt_net/plugin/base/__init__.py +0 -0
  1512. pygpt_net/plugin/base/config.py +26 -0
  1513. pygpt_net/plugin/{base.py → base/plugin.py} +212 -133
  1514. pygpt_net/plugin/base/signals.py +23 -0
  1515. pygpt_net/plugin/base/worker.py +268 -0
  1516. pygpt_net/plugin/cmd_api/__init__.py +16 -112
  1517. pygpt_net/plugin/cmd_api/config.py +91 -0
  1518. pygpt_net/plugin/cmd_api/worker.py +19 -25
  1519. pygpt_net/plugin/cmd_code_interpreter/__init__.py +166 -194
  1520. pygpt_net/plugin/cmd_code_interpreter/builder.py +82 -0
  1521. pygpt_net/plugin/cmd_code_interpreter/config.py +390 -0
  1522. pygpt_net/plugin/cmd_code_interpreter/docker.py +63 -0
  1523. pygpt_net/plugin/cmd_code_interpreter/ipython/__init__.py +13 -0
  1524. pygpt_net/plugin/cmd_code_interpreter/ipython/docker_kernel.py +546 -0
  1525. pygpt_net/plugin/cmd_code_interpreter/ipython/local_kernel.py +220 -0
  1526. pygpt_net/plugin/cmd_code_interpreter/output.py +42 -0
  1527. pygpt_net/plugin/cmd_code_interpreter/runner.py +207 -48
  1528. pygpt_net/plugin/cmd_code_interpreter/worker.py +188 -120
  1529. pygpt_net/plugin/cmd_custom/__init__.py +15 -75
  1530. pygpt_net/plugin/cmd_custom/config.py +54 -0
  1531. pygpt_net/plugin/cmd_custom/worker.py +15 -30
  1532. pygpt_net/plugin/cmd_files/__init__.py +31 -436
  1533. pygpt_net/plugin/cmd_files/config.py +426 -0
  1534. pygpt_net/plugin/cmd_files/output.py +42 -0
  1535. pygpt_net/plugin/cmd_files/worker.py +203 -356
  1536. pygpt_net/plugin/cmd_history/__init__.py +33 -294
  1537. pygpt_net/plugin/cmd_history/config.py +270 -0
  1538. pygpt_net/plugin/cmd_history/worker.py +56 -88
  1539. pygpt_net/plugin/cmd_mouse_control/__init__.py +166 -0
  1540. pygpt_net/plugin/cmd_mouse_control/config.py +277 -0
  1541. pygpt_net/plugin/cmd_mouse_control/worker.py +327 -0
  1542. pygpt_net/plugin/cmd_serial/__init__.py +15 -127
  1543. pygpt_net/plugin/cmd_serial/config.py +105 -0
  1544. pygpt_net/plugin/cmd_serial/worker.py +28 -59
  1545. pygpt_net/plugin/cmd_system/__init__.py +169 -0
  1546. pygpt_net/plugin/cmd_system/config.py +137 -0
  1547. pygpt_net/plugin/cmd_system/docker.py +63 -0
  1548. pygpt_net/plugin/cmd_system/output.py +42 -0
  1549. pygpt_net/plugin/cmd_system/runner.py +258 -0
  1550. pygpt_net/plugin/cmd_system/worker.py +120 -0
  1551. pygpt_net/plugin/cmd_web/__init__.py +127 -321
  1552. pygpt_net/plugin/cmd_web/config.py +367 -0
  1553. pygpt_net/plugin/cmd_web/websearch.py +96 -35
  1554. pygpt_net/plugin/cmd_web/worker.py +226 -118
  1555. pygpt_net/plugin/crontab/__init__.py +20 -83
  1556. pygpt_net/plugin/crontab/config.py +73 -0
  1557. pygpt_net/plugin/experts/__init__.py +81 -0
  1558. pygpt_net/plugin/experts/config.py +26 -0
  1559. pygpt_net/plugin/extra_prompt/__init__.py +10 -42
  1560. pygpt_net/plugin/extra_prompt/config.py +44 -0
  1561. pygpt_net/plugin/idx_llama_index/__init__.py +88 -162
  1562. pygpt_net/plugin/idx_llama_index/config.py +134 -0
  1563. pygpt_net/plugin/idx_llama_index/worker.py +31 -31
  1564. pygpt_net/plugin/mailer/__init__.py +123 -0
  1565. pygpt_net/plugin/mailer/config.py +149 -0
  1566. pygpt_net/plugin/mailer/runner.py +285 -0
  1567. pygpt_net/plugin/mailer/worker.py +123 -0
  1568. pygpt_net/plugin/openai_dalle/__init__.py +63 -67
  1569. pygpt_net/plugin/openai_dalle/config.py +72 -0
  1570. pygpt_net/plugin/openai_vision/__init__.py +105 -143
  1571. pygpt_net/plugin/openai_vision/config.py +118 -0
  1572. pygpt_net/plugin/openai_vision/worker.py +159 -0
  1573. pygpt_net/plugin/real_time/__init__.py +101 -51
  1574. pygpt_net/plugin/real_time/config.py +61 -0
  1575. pygpt_net/plugin/voice_control/__init__.py +158 -0
  1576. pygpt_net/plugin/voice_control/config.py +35 -0
  1577. pygpt_net/provider/agents/__init__.py +0 -0
  1578. pygpt_net/provider/agents/base.py +36 -0
  1579. pygpt_net/provider/agents/openai.py +43 -0
  1580. pygpt_net/provider/agents/openai_assistant.py +77 -0
  1581. pygpt_net/provider/agents/planner.py +52 -0
  1582. pygpt_net/provider/agents/react.py +68 -0
  1583. pygpt_net/provider/audio_input/base.py +2 -2
  1584. pygpt_net/provider/audio_output/base.py +2 -2
  1585. pygpt_net/provider/audio_output/openai_tts.py +5 -11
  1586. pygpt_net/provider/core/assistant/base.py +5 -3
  1587. pygpt_net/provider/core/assistant/json_file.py +21 -5
  1588. pygpt_net/provider/core/assistant_file/__init__.py +10 -0
  1589. pygpt_net/provider/core/assistant_file/base.py +55 -0
  1590. pygpt_net/provider/core/assistant_file/db_sqlite/__init__.py +201 -0
  1591. pygpt_net/provider/core/assistant_file/db_sqlite/patch.py +27 -0
  1592. pygpt_net/provider/core/assistant_file/db_sqlite/storage.py +352 -0
  1593. pygpt_net/provider/core/assistant_file/db_sqlite/utils.py +62 -0
  1594. pygpt_net/provider/core/assistant_store/__init__.py +10 -0
  1595. pygpt_net/provider/core/assistant_store/base.py +56 -0
  1596. pygpt_net/provider/core/assistant_store/db_sqlite/__init__.py +135 -0
  1597. pygpt_net/provider/core/assistant_store/db_sqlite/patch.py +27 -0
  1598. pygpt_net/provider/core/assistant_store/db_sqlite/storage.py +240 -0
  1599. pygpt_net/provider/core/assistant_store/db_sqlite/utils.py +66 -0
  1600. pygpt_net/provider/core/assistant_store/json_file.py +150 -0
  1601. pygpt_net/provider/core/attachment/base.py +5 -3
  1602. pygpt_net/provider/core/attachment/json_file.py +14 -4
  1603. pygpt_net/provider/core/calendar/base.py +5 -3
  1604. pygpt_net/provider/core/calendar/db_sqlite/__init__.py +6 -5
  1605. pygpt_net/provider/core/calendar/db_sqlite/storage.py +5 -4
  1606. pygpt_net/provider/core/config/base.py +8 -6
  1607. pygpt_net/provider/core/config/json_file.py +9 -7
  1608. pygpt_net/provider/core/config/patch.py +535 -1
  1609. pygpt_net/provider/core/ctx/base.py +47 -19
  1610. pygpt_net/provider/core/ctx/db_sqlite/__init__.py +152 -20
  1611. pygpt_net/provider/core/ctx/db_sqlite/storage.py +530 -46
  1612. pygpt_net/provider/core/ctx/db_sqlite/utils.py +87 -17
  1613. pygpt_net/provider/core/index/base.py +129 -23
  1614. pygpt_net/provider/core/index/db_sqlite/__init__.py +130 -23
  1615. pygpt_net/provider/core/index/db_sqlite/storage.py +130 -23
  1616. pygpt_net/provider/core/index/db_sqlite/utils.py +4 -2
  1617. pygpt_net/provider/core/mode/base.py +5 -3
  1618. pygpt_net/provider/core/mode/json_file.py +7 -6
  1619. pygpt_net/provider/core/model/base.py +6 -4
  1620. pygpt_net/provider/core/model/json_file.py +13 -7
  1621. pygpt_net/provider/core/model/patch.py +274 -1
  1622. pygpt_net/provider/core/notepad/base.py +5 -3
  1623. pygpt_net/provider/core/notepad/db_sqlite/__init__.py +5 -4
  1624. pygpt_net/provider/core/notepad/db_sqlite/storage.py +4 -3
  1625. pygpt_net/provider/core/plugin_preset/base.py +4 -2
  1626. pygpt_net/provider/core/plugin_preset/json_file.py +5 -3
  1627. pygpt_net/provider/core/preset/base.py +6 -4
  1628. pygpt_net/provider/core/preset/json_file.py +75 -33
  1629. pygpt_net/provider/core/preset/patch.py +63 -1
  1630. pygpt_net/provider/core/prompt/__init__.py +0 -0
  1631. pygpt_net/provider/core/prompt/base.py +51 -0
  1632. pygpt_net/provider/core/prompt/json_file.py +170 -0
  1633. pygpt_net/provider/gpt/__init__.py +107 -60
  1634. pygpt_net/provider/gpt/assistants.py +252 -239
  1635. pygpt_net/provider/gpt/audio.py +64 -0
  1636. pygpt_net/provider/gpt/chat.py +159 -54
  1637. pygpt_net/provider/gpt/completion.py +67 -36
  1638. pygpt_net/provider/gpt/image.py +77 -47
  1639. pygpt_net/provider/gpt/store.py +608 -0
  1640. pygpt_net/provider/gpt/summarizer.py +15 -3
  1641. pygpt_net/provider/gpt/utils.py +27 -0
  1642. pygpt_net/provider/gpt/vision.py +110 -46
  1643. pygpt_net/provider/gpt/worker/assistants.py +454 -36
  1644. pygpt_net/provider/gpt/worker/importer.py +320 -38
  1645. pygpt_net/provider/llms/anthropic.py +23 -20
  1646. pygpt_net/provider/llms/azure_openai.py +39 -6
  1647. pygpt_net/provider/llms/base.py +64 -10
  1648. pygpt_net/provider/llms/google.py +73 -0
  1649. pygpt_net/provider/llms/hugging_face.py +18 -6
  1650. pygpt_net/provider/llms/hugging_face_api.py +85 -0
  1651. pygpt_net/provider/llms/local.py +43 -0
  1652. pygpt_net/provider/llms/ollama.py +83 -5
  1653. pygpt_net/provider/llms/openai.py +50 -6
  1654. pygpt_net/provider/loaders/base.py +25 -1
  1655. pygpt_net/provider/loaders/file_csv.py +5 -1
  1656. pygpt_net/provider/loaders/file_html.py +5 -1
  1657. pygpt_net/provider/loaders/file_image_vision.py +12 -3
  1658. pygpt_net/provider/loaders/file_ipynb.py +5 -1
  1659. pygpt_net/provider/loaders/file_markdown.py +5 -1
  1660. pygpt_net/provider/loaders/file_pdf.py +4 -1
  1661. pygpt_net/provider/loaders/file_video_audio.py +5 -1
  1662. pygpt_net/provider/loaders/file_xml.py +4 -1
  1663. pygpt_net/provider/loaders/hub/github/issues.py +5 -5
  1664. pygpt_net/provider/loaders/hub/google/gmail.py +2 -2
  1665. pygpt_net/provider/loaders/hub/image_vision/base.py +22 -0
  1666. pygpt_net/provider/loaders/hub/json/base.py +2 -2
  1667. pygpt_net/provider/loaders/hub/pandas_excel/base.py +2 -2
  1668. pygpt_net/provider/loaders/hub/simple_csv/base.py +2 -2
  1669. pygpt_net/provider/loaders/hub/yt/base.py +6 -1
  1670. pygpt_net/provider/loaders/web_bitbucket.py +6 -1
  1671. pygpt_net/provider/loaders/web_chatgpt_retrieval.py +7 -1
  1672. pygpt_net/provider/loaders/web_database.py +22 -3
  1673. pygpt_net/provider/loaders/web_github_issues.py +22 -1
  1674. pygpt_net/provider/loaders/web_github_repo.py +23 -1
  1675. pygpt_net/provider/loaders/web_google_calendar.py +13 -1
  1676. pygpt_net/provider/loaders/web_google_docs.py +10 -1
  1677. pygpt_net/provider/loaders/web_google_drive.py +18 -2
  1678. pygpt_net/provider/loaders/web_google_gmail.py +12 -2
  1679. pygpt_net/provider/loaders/web_google_keep.py +8 -1
  1680. pygpt_net/provider/loaders/web_google_sheets.py +10 -1
  1681. pygpt_net/provider/loaders/web_microsoft_onedrive.py +20 -1
  1682. pygpt_net/provider/loaders/web_page.py +4 -2
  1683. pygpt_net/provider/loaders/web_rss.py +3 -1
  1684. pygpt_net/provider/loaders/web_sitemap.py +13 -3
  1685. pygpt_net/provider/loaders/web_twitter.py +8 -2
  1686. pygpt_net/provider/loaders/web_yt.py +35 -2
  1687. pygpt_net/provider/vector_stores/__init__.py +113 -14
  1688. pygpt_net/provider/vector_stores/base.py +45 -10
  1689. pygpt_net/provider/vector_stores/chroma.py +22 -6
  1690. pygpt_net/provider/vector_stores/ctx_attachment.py +125 -0
  1691. pygpt_net/provider/vector_stores/elasticsearch.py +21 -6
  1692. pygpt_net/provider/vector_stores/pinecode.py +21 -6
  1693. pygpt_net/provider/vector_stores/redis.py +21 -6
  1694. pygpt_net/provider/vector_stores/simple.py +17 -6
  1695. pygpt_net/provider/vector_stores/temp.py +21 -7
  1696. pygpt_net/provider/web/base.py +11 -4
  1697. pygpt_net/provider/web/google_custom_search.py +9 -3
  1698. pygpt_net/provider/web/microsoft_bing.py +9 -3
  1699. pygpt_net/tools/__init__.py +150 -0
  1700. pygpt_net/{controller/audio/transcript.py → tools/audio_transcriber/__init__.py} +105 -41
  1701. pygpt_net/tools/audio_transcriber/ui/__init__.py +0 -0
  1702. pygpt_net/tools/audio_transcriber/ui/dialogs.py +150 -0
  1703. pygpt_net/tools/base.py +113 -0
  1704. pygpt_net/tools/code_interpreter/__init__.py +563 -0
  1705. pygpt_net/tools/code_interpreter/ui/__init__.py +0 -0
  1706. pygpt_net/tools/code_interpreter/ui/dialogs.py +127 -0
  1707. pygpt_net/tools/code_interpreter/ui/widgets.py +386 -0
  1708. pygpt_net/tools/html_canvas/__init__.py +320 -0
  1709. pygpt_net/tools/html_canvas/ui/__init__.py +0 -0
  1710. pygpt_net/tools/html_canvas/ui/dialogs.py +142 -0
  1711. pygpt_net/tools/html_canvas/ui/widgets.py +135 -0
  1712. pygpt_net/tools/image_viewer/__init__.py +303 -0
  1713. pygpt_net/tools/image_viewer/ui/__init__.py +0 -0
  1714. pygpt_net/tools/image_viewer/ui/dialogs.py +152 -0
  1715. pygpt_net/tools/indexer/__init__.py +520 -0
  1716. pygpt_net/tools/indexer/ui/__init__.py +0 -0
  1717. pygpt_net/tools/indexer/ui/browse.py +46 -0
  1718. pygpt_net/tools/indexer/ui/ctx.py +96 -0
  1719. pygpt_net/tools/indexer/ui/dialogs.py +199 -0
  1720. pygpt_net/tools/indexer/ui/files.py +101 -0
  1721. pygpt_net/tools/indexer/ui/web.py +199 -0
  1722. pygpt_net/tools/indexer/ui/widgets.py +121 -0
  1723. pygpt_net/tools/media_player/__init__.py +202 -0
  1724. pygpt_net/tools/media_player/ui/__init__.py +0 -0
  1725. pygpt_net/tools/media_player/ui/dialogs.py +113 -0
  1726. pygpt_net/{ui/widget/video/player.py → tools/media_player/ui/widgets.py} +61 -33
  1727. pygpt_net/tools/text_editor/__init__.py +293 -0
  1728. pygpt_net/tools/text_editor/ui/__init__.py +0 -0
  1729. pygpt_net/tools/text_editor/ui/dialogs.py +80 -0
  1730. pygpt_net/tools/text_editor/ui/widgets.py +77 -0
  1731. pygpt_net/ui/__init__.py +90 -22
  1732. pygpt_net/ui/base/config_dialog.py +2 -1
  1733. pygpt_net/ui/base/context_menu.py +81 -0
  1734. pygpt_net/ui/dialog/about.py +44 -29
  1735. pygpt_net/ui/dialog/applog.py +17 -4
  1736. pygpt_net/ui/dialog/assistant.py +45 -29
  1737. pygpt_net/ui/dialog/assistant_store.py +525 -0
  1738. pygpt_net/ui/dialog/db.py +111 -49
  1739. pygpt_net/ui/dialog/editor.py +16 -68
  1740. pygpt_net/ui/dialog/find.py +29 -0
  1741. pygpt_net/ui/dialog/image.py +4 -44
  1742. pygpt_net/ui/dialog/logger.py +2 -1
  1743. pygpt_net/ui/dialog/plugins.py +8 -6
  1744. pygpt_net/ui/dialog/preset.py +118 -47
  1745. pygpt_net/ui/dialog/profile.py +118 -0
  1746. pygpt_net/ui/dialog/settings.py +23 -7
  1747. pygpt_net/ui/dialog/start.py +5 -2
  1748. pygpt_net/ui/dialog/url.py +29 -0
  1749. pygpt_net/ui/dialog/workdir.py +108 -0
  1750. pygpt_net/ui/dialogs.py +35 -19
  1751. pygpt_net/ui/layout/chat/__init__.py +3 -3
  1752. pygpt_net/ui/layout/chat/attachments.py +56 -6
  1753. pygpt_net/ui/layout/chat/attachments_ctx.py +162 -0
  1754. pygpt_net/ui/layout/chat/attachments_uploaded.py +41 -16
  1755. pygpt_net/ui/layout/chat/calendar.py +15 -21
  1756. pygpt_net/ui/layout/chat/explorer.py +39 -0
  1757. pygpt_net/ui/layout/chat/input.py +48 -11
  1758. pygpt_net/ui/layout/chat/output.py +112 -99
  1759. pygpt_net/ui/layout/chat/painter.py +35 -29
  1760. pygpt_net/ui/layout/ctx/__init__.py +4 -1
  1761. pygpt_net/ui/layout/ctx/ctx_list.py +233 -36
  1762. pygpt_net/ui/layout/status.py +9 -1
  1763. pygpt_net/ui/layout/toolbox/__init__.py +17 -23
  1764. pygpt_net/ui/layout/toolbox/agent.py +23 -13
  1765. pygpt_net/ui/layout/toolbox/agent_llama.py +74 -0
  1766. pygpt_net/ui/layout/toolbox/assistants.py +12 -8
  1767. pygpt_net/ui/layout/toolbox/footer.py +33 -7
  1768. pygpt_net/ui/layout/toolbox/image.py +2 -1
  1769. pygpt_net/ui/layout/toolbox/indexes.py +99 -12
  1770. pygpt_net/ui/layout/toolbox/mode.py +11 -49
  1771. pygpt_net/ui/layout/toolbox/model.py +12 -48
  1772. pygpt_net/ui/layout/toolbox/presets.py +44 -12
  1773. pygpt_net/ui/layout/toolbox/prompt.py +30 -15
  1774. pygpt_net/ui/main.py +98 -20
  1775. pygpt_net/ui/menu/__init__.py +11 -1
  1776. pygpt_net/ui/menu/about.py +14 -3
  1777. pygpt_net/ui/menu/audio.py +40 -11
  1778. pygpt_net/ui/menu/config.py +61 -11
  1779. pygpt_net/ui/menu/debug.py +34 -9
  1780. pygpt_net/ui/menu/donate.py +46 -0
  1781. pygpt_net/ui/menu/file.py +25 -3
  1782. pygpt_net/ui/menu/theme.py +19 -1
  1783. pygpt_net/ui/menu/tools.py +83 -0
  1784. pygpt_net/ui/menu/video.py +1 -13
  1785. pygpt_net/ui/tray.py +5 -5
  1786. pygpt_net/ui/widget/anims/loader.py +229 -0
  1787. pygpt_net/ui/widget/anims/toggles.py +167 -0
  1788. pygpt_net/ui/widget/audio/input_button.py +53 -3
  1789. pygpt_net/ui/widget/calendar/select.py +30 -4
  1790. pygpt_net/ui/widget/dialog/alert.py +3 -1
  1791. pygpt_net/ui/widget/dialog/{interpreter.py → assistant_store.py} +14 -14
  1792. pygpt_net/ui/widget/dialog/audio.py +1 -38
  1793. pygpt_net/ui/widget/dialog/base.py +22 -8
  1794. pygpt_net/ui/widget/dialog/confirm.py +8 -7
  1795. pygpt_net/ui/widget/dialog/debug.py +2 -1
  1796. pygpt_net/ui/widget/dialog/editor_file.py +117 -13
  1797. pygpt_net/ui/widget/dialog/find.py +88 -0
  1798. pygpt_net/ui/widget/dialog/image.py +1 -1
  1799. pygpt_net/ui/widget/dialog/preset_plugins.py +2 -2
  1800. pygpt_net/ui/widget/dialog/profile.py +177 -0
  1801. pygpt_net/ui/widget/dialog/url.py +207 -0
  1802. pygpt_net/ui/widget/dialog/{video_player.py → workdir.py} +11 -11
  1803. pygpt_net/ui/widget/draw/painter.py +40 -2
  1804. pygpt_net/ui/widget/element/button.py +87 -3
  1805. pygpt_net/ui/widget/element/group.py +38 -2
  1806. pygpt_net/ui/widget/filesystem/explorer.py +46 -13
  1807. pygpt_net/ui/widget/image/display.py +42 -9
  1808. pygpt_net/ui/widget/lists/assistant_store.py +114 -0
  1809. pygpt_net/ui/widget/lists/attachment.py +82 -15
  1810. pygpt_net/ui/widget/lists/attachment_ctx.py +173 -0
  1811. pygpt_net/ui/widget/lists/base.py +2 -2
  1812. pygpt_net/ui/widget/lists/base_combo.py +130 -0
  1813. pygpt_net/ui/widget/lists/base_list_combo.py +121 -0
  1814. pygpt_net/ui/widget/lists/context.py +359 -173
  1815. pygpt_net/ui/widget/lists/db.py +7 -3
  1816. pygpt_net/ui/widget/lists/experts.py +136 -0
  1817. pygpt_net/ui/widget/lists/index.py +3 -3
  1818. pygpt_net/ui/widget/lists/index_combo.py +130 -0
  1819. pygpt_net/ui/widget/lists/llama_mode_combo.py +35 -0
  1820. pygpt_net/ui/widget/lists/mode.py +2 -6
  1821. pygpt_net/ui/widget/lists/mode_combo.py +34 -0
  1822. pygpt_net/ui/widget/lists/model_combo.py +34 -0
  1823. pygpt_net/ui/widget/lists/preset.py +48 -1
  1824. pygpt_net/ui/widget/lists/profile.py +141 -0
  1825. pygpt_net/ui/widget/lists/uploaded.py +20 -7
  1826. pygpt_net/ui/widget/option/checkbox.py +69 -6
  1827. pygpt_net/ui/widget/option/cmd.py +11 -5
  1828. pygpt_net/ui/widget/option/combo.py +41 -4
  1829. pygpt_net/ui/widget/option/dictionary.py +33 -10
  1830. pygpt_net/ui/widget/option/input.py +106 -2
  1831. pygpt_net/ui/widget/option/prompt.py +14 -1
  1832. pygpt_net/ui/widget/option/textarea.py +18 -1
  1833. pygpt_net/ui/widget/option/toggle.py +63 -0
  1834. pygpt_net/ui/widget/option/toggle_label.py +79 -0
  1835. pygpt_net/ui/widget/tabs/Input.py +2 -2
  1836. pygpt_net/ui/widget/tabs/body.py +36 -0
  1837. pygpt_net/ui/widget/tabs/layout.py +195 -0
  1838. pygpt_net/ui/widget/tabs/output.py +305 -26
  1839. pygpt_net/ui/widget/textarea/calendar_note.py +55 -32
  1840. pygpt_net/ui/widget/textarea/editor.py +66 -115
  1841. pygpt_net/ui/widget/textarea/find.py +52 -0
  1842. pygpt_net/ui/widget/textarea/html.py +329 -0
  1843. pygpt_net/ui/widget/textarea/input.py +67 -33
  1844. pygpt_net/ui/widget/textarea/notepad.py +77 -44
  1845. pygpt_net/ui/widget/textarea/output.py +54 -40
  1846. pygpt_net/ui/widget/textarea/search_input.py +9 -1
  1847. pygpt_net/ui/widget/textarea/url.py +43 -0
  1848. pygpt_net/ui/widget/textarea/web.py +361 -0
  1849. pygpt_net/utils.py +100 -15
  1850. {pygpt_net-2.1.37.dist-info → pygpt_net-2.4.48.dist-info}/LICENSE +2 -0
  1851. {pygpt_net-2.1.37.dist-info → pygpt_net-2.4.48.dist-info}/METADATA +2288 -1173
  1852. pygpt_net-2.4.48.dist-info/RECORD +2181 -0
  1853. pygpt_net/controller/agent/flow.py +0 -223
  1854. pygpt_net/controller/editor.py +0 -54
  1855. pygpt_net/controller/interpreter.py +0 -299
  1856. pygpt_net/controller/video.py +0 -107
  1857. pygpt_net/core/bridge.py +0 -121
  1858. pygpt_net/core/prompt.py +0 -69
  1859. pygpt_net/data/locale/locale.ua.ini +0 -591
  1860. pygpt_net/provider/llms/llama.py +0 -47
  1861. pygpt_net/ui/dialog/audio.py +0 -75
  1862. pygpt_net/ui/dialog/interpreter.py +0 -107
  1863. pygpt_net/ui/dialog/video_player.py +0 -36
  1864. pygpt_net/ui/widget/textarea/interpreter.py +0 -104
  1865. pygpt_net-2.1.37.dist-info/RECORD +0 -760
  1866. /pygpt_net/{ui/widget/video → core/text}/__init__.py +0 -0
  1867. {pygpt_net-2.1.37.dist-info → pygpt_net-2.4.48.dist-info}/WHEEL +0 -0
  1868. {pygpt_net-2.1.37.dist-info → pygpt_net-2.4.48.dist-info}/entry_points.txt +0 -0
@@ -6,10 +6,15 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.03.10 07:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
- from pygpt_net.core.dispatcher import Event
12
+ from typing import Optional, List
13
+
14
+ from PySide6.QtCore import QModelIndex
15
+ from PySide6.QtGui import QStandardItem
16
+
17
+ from pygpt_net.core.events import Event, AppEvent, RenderEvent
13
18
  from pygpt_net.item.ctx import CtxItem
14
19
 
15
20
  from .common import Common
@@ -17,6 +22,7 @@ from .summarizer import Summarizer
17
22
  from .extra import Extra
18
23
 
19
24
  from pygpt_net.utils import trans
25
+ from pygpt_net.core.tabs.tab import Tab
20
26
 
21
27
 
22
28
  class Ctx:
@@ -35,6 +41,9 @@ class Ctx:
35
41
  self.edit_meta_id = None
36
42
  self.edit_item_id = None
37
43
 
44
+ # current group ID
45
+ self.group_id = None
46
+
38
47
  def setup(self):
39
48
  """Setup ctx"""
40
49
  self.common.restore_display_filter() # load filters first
@@ -49,13 +58,10 @@ class Ctx:
49
58
  # get last ctx from config
50
59
  id = self.window.core.config.get('ctx')
51
60
  if id is not None and self.window.core.ctx.has(id):
52
- self.window.core.ctx.current = id
61
+ self.window.core.ctx.set_current(id)
53
62
  else:
54
63
  # if no ctx then get first ctx
55
- self.window.core.ctx.current = self.window.core.ctx.get_first()
56
-
57
- # load selected ctx
58
- self.load(self.window.core.ctx.current)
64
+ self.window.core.ctx.set_current(self.window.core.ctx.get_first())
59
65
 
60
66
  # restore search string if exists
61
67
  if self.window.core.config.has("ctx.search.string"):
@@ -64,49 +70,90 @@ class Ctx:
64
70
  self.window.ui.nodes['ctx.search'].setText(string)
65
71
  self.search_string_change(string)
66
72
  # check if current selected ctx is still valid
67
- if self.window.core.ctx.current is not None:
68
- if not self.window.core.ctx.has(self.window.core.ctx.current):
73
+ if self.window.core.ctx.get_current() is not None:
74
+ if not self.window.core.ctx.has(self.window.core.ctx.get_current()):
69
75
  self.search_string_clear()
70
76
  # ^ clear search and reload ctx list to prevent creating new ctx
71
77
 
72
- def update(self, reload: bool = True, all: bool = True):
78
+ self.window.ui.nodes['ctx.list'].collapseAll() # collapse all items at start
79
+ self.restore_expanded_groups() # restore expanded groups
80
+
81
+ def update(
82
+ self,
83
+ reload: bool = True,
84
+ all: bool = True,
85
+ select: bool = True
86
+ ):
73
87
  """
74
88
  Update ctx list
75
89
 
76
90
  :param reload: reload ctx list items
77
91
  :param all: update all
92
+ :param select: select current ctx
78
93
  """
79
94
  # reload ctx list items
80
95
  if reload:
81
- self.reload(True)
82
- self.select_by_current() # select on list
96
+ self.update_list(True)
97
+
98
+ # select current ctx on list
99
+ if select:
100
+ self.select_by_current()
83
101
 
84
102
  # update all
85
103
  if all:
86
104
  self.window.controller.ui.update()
87
105
 
88
106
  # append ctx and thread id (assistants API) to config
89
- id = self.window.core.ctx.current
107
+ id = self.window.core.ctx.get_current()
90
108
  if id is not None:
91
109
  self.window.core.config.set('ctx', id)
92
- self.window.core.config.set('assistant_thread', self.window.core.ctx.thread)
110
+ self.window.core.config.set('assistant_thread', self.window.core.ctx.get_thread())
93
111
  self.window.core.config.save()
94
112
 
95
113
  # update calendar ctx list
96
114
  self.window.controller.calendar.update(all=False)
97
115
 
98
- def select(self, id: int):
116
+ # update additional context attachments
117
+ self.window.controller.chat.attachment.update()
118
+
119
+ def select(
120
+ self,
121
+ id: int,
122
+ force: bool = False
123
+ ):
99
124
  """
100
125
  Select ctx by id
101
126
 
102
- :param id: context id
127
+ :param id: context meta id
128
+ :param force: force select
103
129
  """
104
- prev_id = self.window.core.ctx.current
105
- self.window.core.ctx.current = id
106
-
107
- if prev_id != id:
130
+ prev_id = self.window.core.ctx.get_current()
131
+ self.window.core.ctx.set_current(id)
132
+ if prev_id != id or force:
108
133
  self.load(id)
134
+ self.window.dispatch(AppEvent(AppEvent.CTX_SELECTED)) # app event
135
+ else:
136
+ # only update current group if defined
137
+ meta = self.window.core.ctx.get_meta_by_id(id)
138
+ if meta is not None:
139
+ self.set_group(meta.group_id)
140
+
109
141
  self.common.focus_chat()
142
+ # update additional context attachments
143
+ self.window.controller.chat.attachment.update()
144
+
145
+ def select_on_list_only(self, id: int):
146
+ """
147
+ Select ctx by id only on list
148
+
149
+ :param id: context meta id
150
+ """
151
+ self.window.core.ctx.select(id, restore_model=True)
152
+ self.window.core.ctx.set_current(id)
153
+ self.update_list(True)
154
+ self.select_by_current()
155
+ self.reload_config(all=False)
156
+ self.update()
110
157
 
111
158
  def select_by_idx(self, idx: int):
112
159
  """
@@ -114,59 +161,126 @@ class Ctx:
114
161
 
115
162
  :param idx: context index
116
163
  """
164
+ self.select_by_id(self.window.core.ctx.get_id_by_idx(idx))
165
+
166
+ def select_by_id(self, id: int):
167
+ """
168
+ Select ctx by index
169
+
170
+ :param id: context index
171
+ """
117
172
  # lock if generating response is in progress
118
173
  if self.context_change_locked():
119
174
  return
120
175
 
121
- id = self.window.core.ctx.get_id_by_idx(idx)
122
176
  self.select(id)
123
-
124
177
  event = Event(Event.CTX_SELECT, {
125
178
  'value': id,
126
179
  })
127
- self.window.core.dispatcher.dispatch(event)
180
+ self.window.dispatch(event)
181
+
182
+ def select_by_current(self, focus: bool = False):
183
+ """
184
+ Select ctx by current
128
185
 
129
- def select_by_current(self):
130
- """Select ctx by current"""
131
- id = self.window.core.ctx.current
186
+ :param focus: focus chat
187
+ """
188
+ id = self.window.core.ctx.get_current()
132
189
  meta = self.window.core.ctx.get_meta()
133
190
  if id in meta:
134
- idx = self.window.core.ctx.get_idx_by_id(id)
135
- current = self.window.ui.models['ctx.list'].index(idx, 0)
136
- self.window.ui.nodes['ctx.list'].unlocked = True # tmp allow change if locked (enable)
137
- self.window.ui.nodes['ctx.list'].setCurrentIndex(current)
138
- self.window.ui.nodes['ctx.list'].unlocked = False # tmp allow change if locked (disable)
191
+ self.select_index_by_id(id)
192
+ if focus:
193
+ self.update()
194
+ index = self.get_child_index_by_id(id)
195
+ if index.isValid():
196
+ self.window.ui.nodes['ctx.list'].scrollTo(index)
197
+
198
+ def unselect(self):
199
+ """Unselect ctx"""
200
+ self.set_group(None)
201
+ self.window.ui.nodes['ctx.list'].clearSelection()
139
202
 
140
- def new(self, force: bool = False):
203
+ def set_group(self, group_id: Optional[int] = None):
204
+ """
205
+ Set current selected group
206
+
207
+ :param group_id: group ID
208
+ """
209
+ self.group_id = group_id
210
+
211
+ def search_focus_in(self):
212
+ """Search focus handler"""
213
+ pass
214
+ # self.select_by_current()
215
+
216
+ def new_ungrouped(self):
217
+ """Create new ungrouped ctx"""
218
+ self.group_id = None
219
+ self.new()
220
+
221
+ def new(
222
+ self,
223
+ force: bool = False,
224
+ group_id: Optional[int] = None
225
+ ):
141
226
  """
142
227
  Create new ctx
143
228
 
144
229
  :param force: force context creation
230
+ :param group_id: group ID
145
231
  """
146
232
  # lock if generating response is in progress
147
233
  if not force and self.context_change_locked():
148
234
  return
149
235
 
150
- self.window.core.ctx.new()
236
+ # use currently selected group if not defined
237
+ if group_id is None:
238
+ if self.group_id is not None and self.group_id > 0:
239
+ group_id = self.group_id
240
+ else:
241
+ self.group_id = group_id
242
+
243
+ # check if group exists
244
+ if group_id is not None and not self.window.core.ctx.has_group(group_id):
245
+ group_id = None
246
+ self.group_id = None
247
+
248
+ meta = self.window.core.ctx.new(group_id)
151
249
  self.window.core.config.set('assistant_thread', None) # reset assistant thread id
152
250
  self.update()
153
251
 
154
- # reset appended data
155
- self.window.controller.chat.render.reset()
156
- self.window.controller.chat.render.clear_output()
252
+ # render reset
253
+ data = {
254
+ "meta": meta,
255
+ }
256
+ event = RenderEvent(RenderEvent.CLEAR, data)
257
+ self.window.dispatch(event)
157
258
 
158
259
  if not force: # only if real click on new context button
159
260
  self.window.controller.chat.common.unlock_input()
160
- self.window.ui.nodes['input'].setFocus() # set focus to input
261
+ self.window.controller.chat.common.focus_input()
161
262
 
162
263
  # update context label
163
- mode = self.window.core.ctx.mode
264
+ mode = self.window.core.ctx.get_mode()
164
265
  assistant_id = None
165
266
  if mode == 'assistant':
166
267
  assistant_id = self.window.core.config.get('assistant')
268
+ self.window.controller.assistant.files.update() # always update assistant files
269
+
167
270
  self.common.update_label(mode, assistant_id)
168
271
  self.common.focus_chat()
169
272
 
273
+ # update tab title
274
+ if meta is not None:
275
+ self.window.controller.ui.tabs.update_title_current(meta.name)
276
+
277
+ # app event
278
+ self.window.dispatch(AppEvent(AppEvent.CTX_CREATED))
279
+
280
+ # switch to new context if non-chat tab
281
+ self.select(meta.id)
282
+ return meta
283
+
170
284
  def add(self, ctx: CtxItem):
171
285
  """
172
286
  Add ctx item (CtxItem object)
@@ -176,7 +290,25 @@ class Ctx:
176
290
  self.window.core.ctx.add(ctx)
177
291
  self.update()
178
292
 
179
- def reload(self, reload: bool = False):
293
+ def prev(self):
294
+ """Select previous ctx"""
295
+ id = self.window.core.ctx.get_prev()
296
+ if id is not None:
297
+ self.select(id)
298
+
299
+ def next(self):
300
+ """Select next ctx"""
301
+ id = self.window.core.ctx.get_next()
302
+ if id is not None:
303
+ self.select(id)
304
+
305
+ def last(self):
306
+ """Select last (newest) ctx"""
307
+ id = self.window.core.ctx.get_last_meta()
308
+ if id is not None:
309
+ self.select(id)
310
+
311
+ def update_list(self, reload: bool = False):
180
312
  """
181
313
  Reload current ctx list
182
314
 
@@ -187,42 +319,82 @@ class Ctx:
187
319
  self.window.core.ctx.get_meta(reload),
188
320
  )
189
321
 
190
- def refresh(self):
191
- """Refresh context"""
192
- self.load(self.window.core.ctx.current)
322
+ def refresh(self, restore_model: bool = True):
323
+ """
324
+ Refresh context
325
+
326
+ :param restore_model: restore model
327
+ """
328
+ self.load(
329
+ self.window.core.ctx.get_current(),
330
+ restore_model,
331
+ )
193
332
 
194
333
  def refresh_output(self):
195
334
  """Refresh output"""
196
335
  # append ctx to output
197
- self.window.controller.chat.render.append_context(
198
- self.window.core.ctx.items,
199
- clear=True,
200
- )
201
-
202
- def load(self, id: int):
336
+ data = {
337
+ "meta": self.window.core.ctx.get_current_meta(),
338
+ "items": self.window.core.ctx.get_items(),
339
+ "clear": True,
340
+ }
341
+ event = RenderEvent(RenderEvent.CTX_APPEND, data)
342
+ self.window.dispatch(event)
343
+
344
+ def load(
345
+ self,
346
+ id: int,
347
+ restore_model: bool = True
348
+ ):
203
349
  """
204
350
  Load ctx data
205
351
 
206
352
  :param id: context ID
353
+ :param restore_model: restore model if defined in ctx
207
354
  """
208
355
  # select ctx by id
209
- self.window.core.ctx.select(id)
356
+ self.window.core.ctx.clear_thread() # reset thread id
357
+ self.window.core.ctx.select(id, restore_model=restore_model)
358
+ meta = self.window.core.ctx.get_meta_by_id(id)
359
+ if meta is not None:
360
+ self.set_group(meta.group_id) # set current group if defined
361
+
362
+ # reset appended data / prepare new ctx
363
+ if meta is not None:
364
+ data = {
365
+ "meta": meta,
366
+ }
367
+ event = RenderEvent(RenderEvent.ON_LOAD, data)
368
+ self.window.dispatch(event)
210
369
 
211
- # reset appended data
212
- self.window.controller.chat.render.reset()
370
+ self.reload_config()
213
371
 
372
+ # reload ctx list and select current ctx on list, without reloading all
373
+ self.update(reload=False, all=True)
374
+
375
+ # update tab title
376
+ if meta is not None:
377
+ self.window.controller.ui.tabs.on_load_ctx(meta)
378
+
379
+ def reload_config(self, all: bool = True):
380
+ """
381
+ Reload config
382
+
383
+ :param all: reload all
384
+ """
214
385
  # get current settings stored in ctx
215
- thread = self.window.core.ctx.thread
216
- mode = self.window.core.ctx.mode
217
- model = self.window.core.ctx.model
218
- assistant_id = self.window.core.ctx.assistant
219
- preset = self.window.core.ctx.preset
386
+ thread = self.window.core.ctx.get_thread()
387
+ mode = self.window.core.ctx.get_mode()
388
+ model = self.window.core.ctx.get_model()
389
+ assistant_id = self.window.core.ctx.get_assistant()
390
+ preset = self.window.core.ctx.get_preset()
220
391
 
221
392
  # restore thread from ctx
222
393
  self.window.core.config.set('assistant_thread', thread)
223
394
 
224
- # clear before output and append ctx to output
225
- self.refresh_output()
395
+ if all:
396
+ # clear before output and append ctx to output
397
+ self.refresh_output()
226
398
 
227
399
  # switch mode to ctx mode
228
400
  if mode is not None:
@@ -241,14 +413,12 @@ class Ctx:
241
413
  else:
242
414
  # if empty ctx assistant then get assistant from current selected
243
415
  assistant_id = self.window.core.config.get('assistant')
416
+ self.window.controller.assistant.files.update() # always update assistant files
244
417
 
245
418
  # switch model to ctx model if model is defined in ctx and model is available for this mode
246
419
  if model is not None and self.window.core.models.has_model(mode, model):
247
420
  self.window.controller.model.set(mode, model)
248
421
 
249
- # reload ctx list and select current ctx on list
250
- self.update()
251
-
252
422
  # update current ctx label in UI
253
423
  self.common.update_label(mode, assistant_id)
254
424
 
@@ -263,9 +433,9 @@ class Ctx:
263
433
 
264
434
  # update current context label
265
435
  if mode == 'assistant':
266
- if self.window.core.ctx.assistant is not None:
436
+ if self.window.core.ctx.get_assistant() is not None:
267
437
  # get assistant id from ctx if defined in ctx
268
- id = self.window.core.ctx.assistant
438
+ id = self.window.core.ctx.get_assistant()
269
439
  else:
270
440
  # or get assistant id from current selected assistant
271
441
  id = self.window.core.config.get('assistant')
@@ -273,23 +443,25 @@ class Ctx:
273
443
  # update ctx label
274
444
  self.common.update_label(mode, id)
275
445
 
276
- def delete(self, idx: int, force: int = False):
446
+ def delete(
447
+ self,
448
+ id: int,
449
+ force: bool = False
450
+ ):
277
451
  """
278
452
  Delete ctx by idx
279
453
 
280
- :param idx: context idx
454
+ :param id: context id
281
455
  :param force: force delete
282
456
  """
283
457
  if not force:
284
458
  self.window.ui.dialogs.confirm(
285
459
  type='ctx.delete',
286
- id=idx,
460
+ id=id,
287
461
  msg=trans('ctx.delete.confirm'),
288
462
  )
289
463
  return
290
464
 
291
- id = self.window.core.ctx.get_id_by_idx(idx)
292
-
293
465
  # delete data from indexes if exists
294
466
  try:
295
467
  self.delete_meta_from_idx(id)
@@ -300,14 +472,19 @@ class Ctx:
300
472
  # delete ctx items from db
301
473
  items = self.window.core.ctx.all()
302
474
  self.window.core.history.remove_items(items) # remove txt history items
475
+ self.window.core.attachments.context.delete_by_meta_id(id)
303
476
  self.window.core.ctx.remove(id) # remove ctx from db
304
477
 
305
478
  # reset current if current ctx deleted
306
- if self.window.core.ctx.current == id:
307
- self.window.core.ctx.current = None
308
- self.window.controller.chat.render.clear_output()
479
+ if self.window.core.ctx.get_current() == id:
480
+ self.window.core.ctx.clear_current()
481
+ event = RenderEvent(RenderEvent.CLEAR_OUTPUT)
482
+ self.window.dispatch(event)
309
483
  self.update()
310
484
 
485
+ # update tab title
486
+ self.window.controller.ui.tabs.update_title_current("...")
487
+
311
488
  def delete_meta_from_idx(self, id: int):
312
489
  """
313
490
  Delete meta from indexes
@@ -324,7 +501,11 @@ class Ctx:
324
501
  for idx in list(meta.indexes[store_id]):
325
502
  self.window.core.ctx.idx.remove_meta_from_indexed(store_id, id, idx)
326
503
 
327
- def delete_item(self, id: int, force: bool = False):
504
+ def delete_item(
505
+ self,
506
+ id: int,
507
+ force: bool = False
508
+ ):
328
509
  """
329
510
  Delete ctx item by id
330
511
 
@@ -364,18 +545,57 @@ class Ctx:
364
545
  print("Error truncating ctx index db", e)
365
546
 
366
547
  # truncate ctx and history
548
+ self.group_id = None
549
+ self.unselect()
367
550
  self.window.core.ctx.truncate()
368
551
  self.window.core.history.truncate()
552
+ self.window.core.attachments.context.truncate()
369
553
  self.update()
370
554
  self.new()
371
555
 
372
- def rename(self, idx: int):
556
+ def delete_history_groups(self, force: bool = False):
373
557
  """
374
- Ctx name rename (show dialog)
558
+ Delete all ctx / truncate
375
559
 
376
- :param idx: context idx
560
+ :param force: force delete
561
+ """
562
+ if not force:
563
+ self.window.ui.dialogs.confirm(
564
+ type='ctx.delete_all_groups',
565
+ id='',
566
+ msg=trans('ctx.delete.all.confirm'),
567
+ )
568
+ return
569
+
570
+ # truncate index db if exists
571
+ try:
572
+ self.window.core.idx.ctx.truncate()
573
+ except Exception as e:
574
+ self.window.core.debug.log(e)
575
+ print("Error truncating ctx index db", e)
576
+
577
+ # truncate ctx and history
578
+ self.group_id = None
579
+ self.unselect()
580
+ self.window.core.ctx.truncate()
581
+ self.window.core.history.truncate()
582
+ self.window.core.ctx.truncate_groups()
583
+ self.window.core.attachments.context.truncate()
584
+ self.update()
585
+ self.new()
586
+
587
+ def new_if_empty(self):
588
+ """Create new context if empty"""
589
+ self.group_id = None
590
+ if self.window.core.ctx.count_meta() == 0:
591
+ self.new()
592
+
593
+ def rename(self, id: int):
594
+ """
595
+ Ctx name rename by id (show dialog)
596
+
597
+ :param id: context id
377
598
  """
378
- id = self.window.core.ctx.get_id_by_idx(idx)
379
599
  meta = self.window.core.ctx.get_meta_by_id(id)
380
600
  self.window.ui.dialog['rename'].id = 'ctx'
381
601
  self.window.ui.dialog['rename'].input.setText(meta.name)
@@ -383,14 +603,17 @@ class Ctx:
383
603
  self.window.ui.dialog['rename'].show()
384
604
  self.update()
385
605
 
386
- def set_important(self, idx: int, value: bool = True):
606
+ def set_important(
607
+ self,
608
+ id: int,
609
+ value: bool = True
610
+ ):
387
611
  """
388
612
  Set as important
389
613
 
390
- :param idx: context idx
614
+ :param id: context idx
391
615
  :param value: important value
392
616
  """
393
- id = self.window.core.ctx.get_id_by_idx(idx)
394
617
  meta = self.window.core.ctx.get_meta_by_id(id)
395
618
  if meta is not None:
396
619
  meta.important = value
@@ -410,14 +633,17 @@ class Ctx:
410
633
  return meta.important
411
634
  return False
412
635
 
413
- def set_label(self, idx: int, label_id: int):
636
+ def set_label(
637
+ self,
638
+ id: int,
639
+ label_id: int
640
+ ):
414
641
  """
415
642
  Set color label for ctx by idx
416
643
 
417
- :param idx: context idx
644
+ :param id: context idx
418
645
  :param label_id: label id
419
646
  """
420
- id = self.window.core.ctx.get_id_by_idx(idx)
421
647
  meta = self.window.core.ctx.get_meta_by_id(id)
422
648
  if meta is not None:
423
649
  meta.label = label_id
@@ -452,6 +678,19 @@ class Ctx:
452
678
  else:
453
679
  self.update(True, False)
454
680
 
681
+ # update tab title
682
+ meta = self.window.core.ctx.get_meta_by_id(id)
683
+ if meta is not None:
684
+ self.window.controller.ui.tabs.update_title_current(meta.name)
685
+
686
+ def update_name_current(self, name: str):
687
+ """
688
+ Update current ctx name
689
+
690
+ :param name: context name
691
+ """
692
+ self.update_name(self.window.core.ctx.get_current(), name)
693
+
455
694
  def handle_allowed(self, mode: str) -> bool:
456
695
  """
457
696
  Check if append to current ctx is allowed for this mode, if not then switch to new context
@@ -469,6 +708,9 @@ class Ctx:
469
708
  # TODO: implement this
470
709
  # idx = self.window.ui.nodes['ctx.list'].currentIndex().row()
471
710
  # self.select(idx)
711
+ selected_idx = self.window.ui.nodes['ctx.list'].currentIndex()
712
+ if selected_idx.isValid():
713
+ id = self.window.core.ctx.get_id_by_idx(selected_idx.row())
472
714
  self.window.ui.nodes['ctx.list'].lockSelection()
473
715
 
474
716
  def search_string_change(self, text: str):
@@ -478,7 +720,7 @@ class Ctx:
478
720
  :param text: search string
479
721
  """
480
722
  self.window.core.ctx.clear_tmp_meta()
481
- self.window.core.ctx.search_string = text
723
+ self.window.core.ctx.set_search_string(text)
482
724
  self.window.core.config.set('ctx.search.string', text)
483
725
  self.update(reload=True, all=False)
484
726
 
@@ -496,7 +738,7 @@ class Ctx:
496
738
  self.window.ui.nodes['ctx.search'].setText(text)
497
739
  self.search_string_change(text) # make search
498
740
 
499
- def label_filters_changed(self, labels: list):
741
+ def label_filters_changed(self, labels: List[int]):
500
742
  """
501
743
  Filters labels change
502
744
 
@@ -507,7 +749,6 @@ class Ctx:
507
749
  self.window.core.config.set('ctx.records.filter.labels', labels)
508
750
  self.update(reload=True, all=False)
509
751
 
510
-
511
752
  def prepare_name(self, ctx: CtxItem):
512
753
  """
513
754
  Handle context name (summarize first input and output)
@@ -517,7 +758,7 @@ class Ctx:
517
758
  # if ctx is not initialized yet then summarize
518
759
  if not self.window.core.ctx.is_initialized():
519
760
  self.summarizer.summarize(
520
- self.window.core.ctx.current,
761
+ self.window.core.ctx.get_current(),
521
762
  ctx,
522
763
  )
523
764
 
@@ -528,3 +769,342 @@ class Ctx:
528
769
  :return: True if locked
529
770
  """
530
771
  return self.window.controller.chat.input.generating
772
+
773
+ def select_index_by_id(self, id: int):
774
+ """
775
+ Select item by ID on context list
776
+
777
+ :param id: ctx meta ID
778
+ """
779
+ index = self.get_child_index_by_id(id)
780
+ self.window.ui.nodes['ctx.list'].unlocked = True # tmp allow change if locked (enable)
781
+ self.window.ui.nodes['ctx.list'].setCurrentIndex(index)
782
+ self.window.ui.nodes['ctx.list'].unlocked = False # tmp allow change if locked (disable)
783
+
784
+ def find_index_by_id(
785
+ self,
786
+ item: QStandardItem,
787
+ id: int
788
+ ) -> QModelIndex:
789
+ """
790
+ Return index of item with given ID, searching recursively through the model.
791
+
792
+ :param item: QStandardItem
793
+ :param id: int
794
+ :return: QModelIndex
795
+ """
796
+ if hasattr(item, 'id') and item.id == id:
797
+ return item.index()
798
+ for row in range(item.rowCount()):
799
+ found_index = self.find_index_by_id(item.child(row), id)
800
+ if found_index.isValid():
801
+ return found_index
802
+ return QModelIndex()
803
+
804
+ def find_parent_index_by_id(
805
+ self,
806
+ item: QStandardItem,
807
+ id: int
808
+ ) -> QModelIndex:
809
+ """
810
+ Return index of item with given ID, searching recursively through the model.
811
+
812
+ :param item: QStandardItem
813
+ :param id: int
814
+ :return: QModelIndex
815
+ """
816
+ if hasattr(item, 'id') and hasattr(item, 'isFolder') and item.isFolder and item.id == id:
817
+ return item.index()
818
+ for row in range(item.rowCount()):
819
+ found_index = self.find_parent_index_by_id(item.child(row), id)
820
+ if found_index.isValid():
821
+ return found_index
822
+ return QModelIndex()
823
+
824
+ def get_parent_index_by_id(self, id: int) -> QModelIndex:
825
+ """
826
+ Return QModelIndex of parent item based on its ID.
827
+
828
+ :param id: int
829
+ :return: QModelIndex
830
+ """
831
+ model = self.window.ui.models['ctx.list']
832
+ root = model.invisibleRootItem()
833
+ return self.find_parent_index_by_id(root, id)
834
+
835
+ def get_children_index_by_id(
836
+ self,
837
+ parent_id: int,
838
+ child_id: int
839
+ ) -> QModelIndex:
840
+ """
841
+ Return QModelIndex of child item based on its ID and parent ID.
842
+
843
+ :param parent_id: int
844
+ :param child_id: int
845
+ :return: QModelIndex
846
+ """
847
+ model = self.window.ui.models['ctx.list']
848
+ parent_index = self.get_parent_index_by_id(parent_id)
849
+ if not parent_index.isValid():
850
+ # no parent found
851
+ return QModelIndex()
852
+
853
+ parent_item = model.itemFromIndex(parent_index)
854
+ return self.find_index_by_id(parent_item, child_id)
855
+
856
+ def find_child_index_by_id(
857
+ self,
858
+ root_item: QStandardItem,
859
+ child_id: int
860
+ ) -> QModelIndex:
861
+ """
862
+ Find and return QModelIndex of child based on its ID, recursively searching through the model.
863
+
864
+ :param root_item: QStandardItem
865
+ :param child_id: int
866
+ :return: QModelIndex
867
+ """
868
+ for row in range(root_item.rowCount()):
869
+ item = root_item.child(row)
870
+ if hasattr(item, 'id') and hasattr(item, 'isFolder') and not item.isFolder and item.id == child_id:
871
+ return item.index()
872
+ child_index = self.find_child_index_by_id(item, child_id)
873
+ if child_index.isValid():
874
+ return child_index
875
+ return QModelIndex()
876
+
877
+ def get_child_index_by_id(self, child_id: int) -> QModelIndex:
878
+ """
879
+ Return QModelIndex of child item based on its ID.
880
+
881
+ :param child_id: int
882
+ :return: QModelIndex
883
+ """
884
+ model = self.window.ui.models['ctx.list']
885
+ root_item = model.invisibleRootItem()
886
+ return self.find_child_index_by_id(root_item, child_id)
887
+
888
+ def store_expanded_groups(self):
889
+ """
890
+ Store expanded groups in ctx list
891
+ """
892
+ expanded = []
893
+ for group_id in self.window.ui.nodes['ctx.list'].expanded_items:
894
+ expanded.append(group_id)
895
+ self.window.core.config.set('ctx.list.expanded', expanded)
896
+ self.window.core.config.save()
897
+
898
+ def restore_expanded_groups(self):
899
+ """
900
+ Restore expanded groups in ctx list
901
+ """
902
+ expanded = self.window.core.config.get('ctx.list.expanded')
903
+ if expanded is not None:
904
+ for group_id in expanded:
905
+ self.window.ui.nodes['ctx.list'].expand_group(group_id)
906
+
907
+ def save_all(self):
908
+ """Save visible ctx list items"""
909
+ self.store_expanded_groups()
910
+
911
+ def move_to_group(
912
+ self,
913
+ meta_id: int,
914
+ group_id: int,
915
+ update: bool = True
916
+ ):
917
+ """
918
+ Move ctx to group
919
+
920
+ :param meta_id: int
921
+ :param group_id: int
922
+ :param update: update ctx list
923
+ """
924
+ self.window.core.ctx.update_meta_group_id(meta_id, group_id)
925
+ self.group_id = group_id
926
+ if update:
927
+ self.update()
928
+
929
+ def remove_from_group(self, meta_id):
930
+ """
931
+ Remove ctx from group
932
+
933
+ :param meta_id: int
934
+ """
935
+ self.window.core.ctx.update_meta_group_id(meta_id, None)
936
+ self.group_id = None
937
+ self.update()
938
+
939
+ def new_group(
940
+ self,
941
+ meta_id: Optional[int] = None
942
+ ):
943
+ """
944
+ Open new group dialog
945
+
946
+ :param meta_id: int
947
+ """
948
+ self.window.ui.dialog['create'].id = 'ctx.group'
949
+ self.window.ui.dialog['create'].input.setText("")
950
+ self.window.ui.dialog['create'].current = meta_id
951
+ self.window.ui.dialog['create'].show()
952
+ self.window.ui.dialog['create'].input.setFocus()
953
+
954
+ def create_group(
955
+ self,
956
+ name: Optional[str] = None,
957
+ meta_id: Optional[int] = None
958
+ ):
959
+ """
960
+ Make directory
961
+
962
+ :param name: name of directory
963
+ :param meta_id: int
964
+ """
965
+ if name is None:
966
+ self.window.update_status(
967
+ "[ERROR] Name is empty."
968
+ )
969
+ return
970
+ group = self.window.core.ctx.make_group(name)
971
+ id = self.window.core.ctx.insert_group(group)
972
+ if id is not None:
973
+ if meta_id is not None:
974
+ self.move_to_group(meta_id, id, update=False)
975
+ self.update()
976
+ self.window.update_status(
977
+ "Group '{}' created.".format(name)
978
+ )
979
+ self.window.ui.dialog['create'].close()
980
+
981
+ # select new group
982
+ self.select_group(id)
983
+ self.group_id = id
984
+
985
+ def rename_group(
986
+ self,
987
+ id: int,
988
+ force: bool = False
989
+ ):
990
+ """
991
+ Rename group
992
+
993
+ :param id: group ID
994
+ :param force: force rename
995
+ """
996
+ if not force:
997
+ group = self.window.core.ctx.get_group_by_id(id)
998
+ if group is None:
999
+ return
1000
+ self.window.ui.dialog['rename'].id = 'ctx.group'
1001
+ self.window.ui.dialog['rename'].input.setText(group.name)
1002
+ self.window.ui.dialog['rename'].current = id
1003
+ self.window.ui.dialog['rename'].show()
1004
+
1005
+ def update_group_name(
1006
+ self,
1007
+ id: int,
1008
+ name: str,
1009
+ close: bool = True
1010
+ ):
1011
+ """
1012
+ Update group name
1013
+
1014
+ :param id: group ID
1015
+ :param name: group name
1016
+ :param close: close rename dialog
1017
+ """
1018
+ group = self.window.core.ctx.get_group_by_id(id)
1019
+ if group is not None:
1020
+ group.name = name
1021
+ self.window.core.ctx.update_group(group)
1022
+ if close:
1023
+ self.window.ui.dialog['rename'].close()
1024
+ self.update(True, False, False)
1025
+ self.select_group(id)
1026
+
1027
+ def get_group_name(self, id: int) -> str:
1028
+ """
1029
+ Get group name by ID
1030
+
1031
+ :param id: group ID
1032
+ :return: group name
1033
+ """
1034
+ group = self.window.core.ctx.get_group_by_id(id)
1035
+ if group is not None:
1036
+ return group.name
1037
+ return ""
1038
+
1039
+ def select_group(self, id: int):
1040
+ """
1041
+ Select group
1042
+
1043
+ :param id: group ID
1044
+ """
1045
+ self.group_id = id
1046
+ index = self.get_parent_index_by_id(id)
1047
+ self.window.ui.nodes['ctx.list'].unlocked = True # tmp allow change if locked (enable)
1048
+ self.window.ui.nodes['ctx.list'].setCurrentIndex(index)
1049
+ self.window.ui.nodes['ctx.list'].unlocked = False # tmp allow change if locked (disable)
1050
+
1051
+ def delete_group(
1052
+ self,
1053
+ id: int,
1054
+ force: bool = False
1055
+ ):
1056
+ """
1057
+ Delete group only
1058
+
1059
+ :param id: group ID
1060
+ :param force: force delete
1061
+ """
1062
+ if not force:
1063
+ self.window.ui.dialogs.confirm(
1064
+ type='ctx.group.delete',
1065
+ id=id,
1066
+ msg=trans('confirm.ctx.delete')
1067
+ )
1068
+ return
1069
+ group = self.window.core.ctx.get_group_by_id(id)
1070
+ if group is not None:
1071
+ self.window.core.ctx.remove_group(group, all=False)
1072
+ if self.group_id == id:
1073
+ self.group_id = None
1074
+ self.update()
1075
+
1076
+ def delete_group_all(
1077
+ self,
1078
+ id: int,
1079
+ force: bool = False
1080
+ ):
1081
+ """
1082
+ Delete group with all items
1083
+
1084
+ :param id: group ID
1085
+ :param force: force delete
1086
+ """
1087
+ if not force:
1088
+ self.window.ui.dialogs.confirm(
1089
+ type='ctx.group.delete.all',
1090
+ id=id,
1091
+ msg=trans('confirm.ctx.delete.all')
1092
+ )
1093
+ return
1094
+ group = self.window.core.ctx.get_group_by_id(id)
1095
+ if group is not None:
1096
+ self.window.core.ctx.remove_group(group, all=True)
1097
+ if self.group_id == id:
1098
+ self.group_id = None
1099
+ self.update()
1100
+
1101
+ def reload(self):
1102
+ """Reload ctx"""
1103
+ self.window.core.ctx.reset()
1104
+ self.setup()
1105
+ self.update()
1106
+ self.refresh()
1107
+
1108
+ def reload_after(self):
1109
+ """After reload"""
1110
+ self.new_if_empty()