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,7 +6,7 @@
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.19 01:00:00 #
9
+ # Updated Date: 2025.01.16 01:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import datetime
@@ -14,14 +14,17 @@ import os.path
14
14
  import time
15
15
 
16
16
  from pathlib import Path
17
+ from typing import Optional, Tuple, List, Dict, Any
18
+
17
19
  from sqlalchemy import text
18
20
 
19
21
  from llama_index.core.indices.base import BaseIndex
20
22
  from llama_index.core.schema import Document
21
23
  from llama_index.core import SimpleDirectoryReader
22
24
 
25
+ from pygpt_net.item.model import ModelItem
23
26
  from pygpt_net.provider.loaders.base import BaseLoader
24
- from pygpt_net.utils import parse_args
27
+ from pygpt_net.utils import parse_args, pack_arg
25
28
 
26
29
 
27
30
  class Indexing:
@@ -38,6 +41,7 @@ class Indexing:
38
41
  }
39
42
  self.data_providers = {} # data providers (loaders)
40
43
  self.external_instructions = {}
44
+ self.external_config = {}
41
45
  self.last_call = None
42
46
 
43
47
  def register_loader(self, loader: BaseLoader):
@@ -56,6 +60,7 @@ class Indexing:
56
60
  self.data_providers[loader.id] = loader # cache loader
57
61
  extensions = loader.extensions # available extensions
58
62
  types = loader.type # available types
63
+
59
64
  if "file" in types:
60
65
  loader.set_args(self.get_loader_arguments(loader.id, "file")) # set reader arguments
61
66
  try:
@@ -66,6 +71,7 @@ class Indexing:
66
71
  msg = "Error while registering data loader: " + loader.id + " - " + str(e)
67
72
  self.window.core.debug.log(msg)
68
73
  self.window.core.debug.log(e)
74
+
69
75
  if "web" in types:
70
76
  loader.set_args(self.get_loader_arguments(loader.id, "web")) # set reader arguments
71
77
  try:
@@ -75,11 +81,83 @@ class Indexing:
75
81
  for item in loader.instructions:
76
82
  cmd = list(item.keys())[0]
77
83
  self.external_instructions[cmd] = item[cmd]
84
+ if loader.init_args:
85
+ for key in loader.init_args:
86
+ if loader.id not in self.external_config:
87
+ self.external_config[loader.id] = {}
88
+ self.external_config[loader.id][key] = {
89
+ "key": key,
90
+ "value": loader.init_args[key],
91
+ "type": "str", # default = str
92
+ "label": key,
93
+ "description": None,
94
+ }
95
+ # from config
96
+ if key in loader.args:
97
+ self.external_config[loader.id][key]["value"] = loader.args[key]
98
+ if key in loader.init_args_types:
99
+ self.external_config[loader.id][key]["type"] = loader.init_args_types[key]
100
+ if key in loader.init_args_labels:
101
+ self.external_config[loader.id][key]["label"] = loader.init_args_labels[key]
102
+ if key in loader.init_args_desc:
103
+ self.external_config[loader.id][key]["description"] = loader.init_args_desc[key]
104
+
78
105
  except ImportError as e:
79
106
  msg = "Error while registering data loader: " + loader.id + " - " + str(e)
80
107
  self.window.core.debug.log(msg)
81
108
  self.window.core.debug.log(e)
82
109
 
110
+ def get_loader(self, loader: str) -> Optional[BaseLoader]:
111
+ """
112
+ Get data loader by id
113
+
114
+ :param loader: loader id
115
+ :return: data loader instance
116
+ """
117
+ if loader in self.data_providers:
118
+ return self.data_providers[loader]
119
+ return None
120
+
121
+ def update_loader_args(
122
+ self,
123
+ loader: str,
124
+ args: Dict[str, Any]
125
+ ):
126
+ """
127
+ Update loader arguments
128
+
129
+ :param loader: loader id
130
+ :param args: keyword arguments
131
+ """
132
+ if loader in self.data_providers:
133
+ self.data_providers[loader].set_args(args)
134
+ reader = self.data_providers[loader].get() # get data reader instance
135
+ self.loaders["web"][loader] = reader # update reader instance
136
+
137
+ # update in config
138
+ config = self.window.core.config.get("llama.hub.loaders.args")
139
+ if config is None:
140
+ config = []
141
+ loader_key = "web_" + loader
142
+ for arg in args:
143
+ found = False
144
+ for item in config:
145
+ if item["loader"] == loader_key and item["name"] == arg:
146
+ item["value"] = args[arg]
147
+ found = True
148
+ if not found:
149
+ type = "str"
150
+ if arg in self.data_providers[loader].init_args_types:
151
+ type = self.data_providers[loader].init_args_types[arg]
152
+ # pack value
153
+ value = pack_arg(args[arg], type)
154
+ config.append({
155
+ "loader": loader_key,
156
+ "name": arg,
157
+ "value": value,
158
+ "type": type
159
+ })
160
+
83
161
  def reload_loaders(self):
84
162
  """Reload loaders (update arguments)"""
85
163
  self.window.core.idx.log("Reloading data loaders...")
@@ -87,7 +165,7 @@ class Indexing:
87
165
  self.register_loader(loader)
88
166
  self.window.core.idx.log("Data loaders reloaded.")
89
167
 
90
- def get_external_instructions(self) -> dict:
168
+ def get_external_instructions(self) -> Dict[str, Any]:
91
169
  """
92
170
  Get external instructions
93
171
 
@@ -95,6 +173,14 @@ class Indexing:
95
173
  """
96
174
  return self.external_instructions
97
175
 
176
+ def get_external_config(self) -> Dict[str, Any]:
177
+ """
178
+ Get external config
179
+
180
+ :return: dict of external config
181
+ """
182
+ return self.external_config
183
+
98
184
  def get_online_loader(self, ext: str):
99
185
  """
100
186
  Get online loader by extension (deprecated)
@@ -114,7 +200,7 @@ class Indexing:
114
200
  if ext in extensions:
115
201
  return loader["loader"]
116
202
 
117
- def get_data_providers(self) -> dict:
203
+ def get_data_providers(self) -> Dict[str, BaseLoader]:
118
204
  """
119
205
  Get data providers
120
206
 
@@ -122,7 +208,11 @@ class Indexing:
122
208
  """
123
209
  return self.data_providers
124
210
 
125
- def get_loader_arguments(self, id: str, type: str = "file") -> dict:
211
+ def get_loader_arguments(
212
+ self,
213
+ id: str,
214
+ type: str = "file"
215
+ ) -> Dict[str, Any]:
126
216
  """
127
217
  Get keyword arguments for loader
128
218
 
@@ -160,6 +250,26 @@ class Indexing:
160
250
  return True
161
251
  return False
162
252
 
253
+ def is_excluded_path(self, path: str) -> bool:
254
+ """
255
+ Check if path is excluded
256
+
257
+ :param path: file path
258
+ :return: True if excluded
259
+ """
260
+ data_dir = self.window.core.config.get_user_dir("data")
261
+ # interpreter files
262
+ excluded = [
263
+ os.path.join(data_dir, ".interpreter.output.py"),
264
+ os.path.join(data_dir, ".interpreter.input.py"),
265
+ os.path.join(data_dir, ".interpreter.current.py"),
266
+ os.path.join(data_dir, ".interpreter.kernel.json"),
267
+ os.path.join(data_dir, ".canvas.html"),
268
+ ]
269
+ if path in excluded:
270
+ return True
271
+ return False
272
+
163
273
  def is_allowed(self, path: str) -> bool:
164
274
  """
165
275
  Check if path is allowed for indexing
@@ -171,20 +281,33 @@ class Indexing:
171
281
  return True
172
282
  ext = os.path.splitext(path)[1][1:] # get extension
173
283
  ext = ext.lower()
284
+ if self.is_excluded_path(path):
285
+ return False
174
286
  if ext in self.loaders["file"] and not self.window.core.config.get("llama.idx.excluded.force"):
175
287
  return True
176
288
  if self.is_excluded(ext):
177
289
  return False
178
290
  return True
179
291
 
180
- def get_documents(self, path: str) -> list[Document]:
292
+ def get_documents(
293
+ self,
294
+ path: str,
295
+ force: bool = False,
296
+ silent: bool = False,
297
+ loader_kwargs: Optional[Dict[str, Any]] = None,
298
+ ) -> List[Document]:
181
299
  """
182
- Get documents from path
300
+ Get documents from path using data loaders
183
301
 
184
302
  :param path: path to data
303
+ :param force: force reading
304
+ :param silent: disable logging
305
+ :param loader_kwargs: additional keyword arguments for loader
185
306
  :return: list of documents
186
307
  """
187
- self.window.core.idx.log("Reading documents from path: {}".format(path))
308
+ # TODO: if .zip then unpack here, and return path to /tmp
309
+ if not silent:
310
+ self.window.core.idx.log("Reading documents from path: {}".format(path))
188
311
  if os.path.isdir(path):
189
312
  reader = SimpleDirectoryReader(
190
313
  input_dir=path,
@@ -196,17 +319,37 @@ class Indexing:
196
319
  # get extension
197
320
  ext = os.path.splitext(path)[1][1:].lower()
198
321
 
199
- # check if not excluded
200
- if self.is_excluded(ext):
201
- self.window.core.idx.log("Ignoring excluded extension: {}".format(ext))
322
+ # check if not excluded extension
323
+ if self.is_excluded(ext) and not force:
324
+ if not silent:
325
+ self.window.core.idx.log("Ignoring excluded extension: {}".format(ext))
326
+ return []
327
+
328
+ # check if not excluded path
329
+ if self.is_excluded_path(path) and not force:
330
+ if not silent:
331
+ self.window.core.idx.log("Ignoring excluded path: {}".format(path))
202
332
  return []
203
333
 
334
+ # check if archive (zip, tar)
335
+ if self.window.core.filesystem.packer.is_archive(path):
336
+ tmp_path = self.window.core.filesystem.packer.unpack(path)
337
+ if tmp_path:
338
+ return self.get_documents(tmp_path, force=force, silent=silent, loader_kwargs=loader_kwargs)
339
+
204
340
  if ext in self.loaders["file"]:
205
- self.window.core.idx.log("Using loader for: {}".format(ext))
341
+ if not silent:
342
+ self.window.core.idx.log("Using loader for: {}".format(ext))
206
343
  reader = self.loaders["file"][ext]
207
- documents = reader.load_data(file=Path(path))
344
+
345
+ # use custom loader method if available
346
+ if hasattr(reader, "load_data_custom") and loader_kwargs:
347
+ documents = reader.load_data_custom(file=Path(path), **loader_kwargs)
348
+ else:
349
+ documents = reader.load_data(file=Path(path))
208
350
  else:
209
- self.window.core.idx.log("Using default SimpleDirectoryReader for: {}".format(ext))
351
+ if not silent:
352
+ self.window.core.idx.log("Using default SimpleDirectoryReader for: {}".format(ext))
210
353
  reader = SimpleDirectoryReader(input_files=[path])
211
354
  documents = reader.load_data()
212
355
 
@@ -214,18 +357,87 @@ class Indexing:
214
357
  self.window.core.idx.metadata.append_file_metadata(documents, path)
215
358
  return documents
216
359
 
217
- def read_text_content(self, path: str) -> str:
360
+ def read_text_content(
361
+ self,
362
+ path: str,
363
+ loader_kwargs: Optional[Dict[str, Any]] = None
364
+ ) -> Tuple[str, List[Document]]:
218
365
  """
219
366
  Get content from file using loaders
220
367
 
221
368
  :param path: path to file
222
- :return: file content
369
+ :param loader_kwargs: additional keyword arguments for data loader
370
+ :return: text content, list of documents
371
+ """
372
+ docs = self.get_documents(
373
+ path,
374
+ force=True, # allow excluded extensions
375
+ silent=True,
376
+ loader_kwargs=loader_kwargs,
377
+ )
378
+ data = []
379
+ for doc in docs:
380
+ data.append(doc.text)
381
+ return "\n".join(data), docs
382
+
383
+ def read_web_content(
384
+ self,
385
+ url: str,
386
+ type: str = "webpage",
387
+ extra_args: Optional[Dict[str, Any]] = None
388
+ ) -> Tuple[str, List[Document]]:
389
+ """
390
+ Get content from external resource
391
+
392
+ :param url: external url to index
393
+ :param type: type of URL (webpage, feed, etc.)
394
+ :param extra_args: extra arguments for loader
395
+ :return: text content, list of documents
223
396
  """
224
- docs = self.get_documents(path)
397
+ docs = self.read_web(url, type, extra_args)
225
398
  data = []
226
399
  for doc in docs:
227
400
  data.append(doc.text)
228
- return "\n".join(data)
401
+ return "\n".join(data), docs
402
+
403
+ def read_web(
404
+ self,
405
+ url: str,
406
+ type: str = "webpage",
407
+ extra_args: Optional[Dict[str, Any]] = None,
408
+ ) -> List[Document]:
409
+ """
410
+ Read data from external resource
411
+
412
+ :param url: external url to index
413
+ :param type: type of URL (webpage, feed, etc.)
414
+ :param extra_args: extra arguments for loader
415
+ :return: list of documents
416
+ """
417
+ documents = []
418
+
419
+ # check if web loader for defined type exists
420
+ if type not in self.loaders["web"]:
421
+ raise ValueError("No web loader for type: {}".format(type))
422
+
423
+ try:
424
+ if "url" not in extra_args:
425
+ extra_args["url"] = url
426
+
427
+ # get unique external content identifier
428
+ unique_id = self.data_providers[type].get_external_id(extra_args)
429
+ self.window.core.idx.log("Loading web documents from: {}".format(unique_id))
430
+ self.window.core.idx.log("Using web loader for type: {}".format(type))
431
+
432
+ args = self.data_providers[type].prepare_args(**extra_args)
433
+
434
+ # get documents from external resource
435
+ documents = self.loaders["web"][type].load_data(
436
+ **args
437
+ )
438
+ except Exception as e:
439
+ self.window.core.debug.log(e)
440
+ return documents
229
441
 
230
442
  def prepare_document(self, doc: Document):
231
443
  """
@@ -234,11 +446,19 @@ class Indexing:
234
446
  :param doc: Document
235
447
  """
236
448
  # fix empty date in Pinecode
237
- if "last_accessed_date" in doc.extra_info and doc.extra_info["last_accessed_date"] is None:
238
- if "creation_date" in doc.extra_info:
239
- doc.extra_info["last_accessed_date"] = doc.extra_info["creation_date"]
449
+ if "last_accessed_date" in doc.metadata and doc.metadata["last_accessed_date"] is None:
450
+ if "creation_date" in doc.metadata:
451
+ doc.metadata["last_accessed_date"] = doc.metadata["creation_date"]
240
452
 
241
- def index_files(self, idx: str, index: BaseIndex, path: str = None, is_tmp: bool = False) -> tuple:
453
+ def index_files(
454
+ self,
455
+ idx: str,
456
+ index: BaseIndex,
457
+ path: Optional[str] = None,
458
+ is_tmp: bool = False,
459
+ replace: Optional[bool] = None,
460
+ recursive: Optional[bool] = None
461
+ ) -> Tuple[dict, list]:
242
462
  """
243
463
  Index all files in directory
244
464
 
@@ -246,10 +466,16 @@ class Indexing:
246
466
  :param index: index instance
247
467
  :param path: path to file or directory
248
468
  :param is_tmp: True if temporary index
469
+ :param replace: True if replace old document
470
+ :param recursive: True if recursive indexing
249
471
  :return: dict with indexed files, errors
250
472
  """
251
- if self.window.core.config.get("llama.idx.recursive"):
252
- return self.index_files_recursive(idx, index, path, is_tmp)
473
+ if recursive is not None:
474
+ if recursive:
475
+ return self.index_files_recursive(idx, index, path, is_tmp, replace)
476
+ else:
477
+ if self.window.core.config.get("llama.idx.recursive"):
478
+ return self.index_files_recursive(idx, index, path, is_tmp, replace)
253
479
 
254
480
  indexed = {}
255
481
  errors = []
@@ -262,15 +488,26 @@ class Indexing:
262
488
 
263
489
  for file in files: # per file to allow use of multiple loaders
264
490
  try:
265
- # remove old file from index if exists
266
- file_id = self.window.core.idx.files.get_id(file)
267
-
268
- if not is_tmp:
269
- self.remove_old_file(idx, file_id)
491
+ if self.is_stopped(): # force stop
492
+ break
493
+
494
+ # force replace or not old document
495
+ if replace is not None:
496
+ if replace:
497
+ file_id = self.window.core.idx.files.get_id(file)
498
+ self.remove_old_file(idx, file_id, force=True)
499
+ else:
500
+ # if auto, only replace if not temporary
501
+ if not is_tmp:
502
+ file_id = self.window.core.idx.files.get_id(file)
503
+ self.remove_old_file(idx, file_id)
270
504
 
271
505
  # index new version of file
272
506
  documents = self.get_documents(file)
273
507
  for d in documents:
508
+ if self.is_stopped(): # force stop
509
+ break
510
+
274
511
  self.prepare_document(d)
275
512
  self.index_document(index, d)
276
513
  indexed[file] = d.id_ # add to index
@@ -279,11 +516,19 @@ class Indexing:
279
516
  errors.append(str(e))
280
517
  print("Error while indexing file: " + file)
281
518
  self.window.core.debug.log(e)
282
- continue
519
+ if self.stop_enabled():
520
+ break # break loop if error
283
521
 
284
522
  return indexed, errors
285
523
 
286
- def index_files_recursive(self, idx: str, index: BaseIndex, path: str = None, is_tmp: bool = False) -> tuple:
524
+ def index_files_recursive(
525
+ self,
526
+ idx: str,
527
+ index: BaseIndex,
528
+ path: Optional[str] = None,
529
+ is_tmp: bool = False,
530
+ replace: Optional[bool] = None
531
+ ) -> Tuple[dict, list]:
287
532
  """
288
533
  Index all files in directory and subdirectories recursively.
289
534
 
@@ -291,10 +536,12 @@ class Indexing:
291
536
  :param index: index instance
292
537
  :param path: path to file or directory
293
538
  :param is_tmp: True if temporary index
539
+ :param replace: True if replace old document
294
540
  :return: dict with indexed files, errors
295
541
  """
296
542
  indexed = {}
297
543
  errors = []
544
+ is_break = False
298
545
 
299
546
  # directory
300
547
  if os.path.isdir(path):
@@ -303,14 +550,26 @@ class Indexing:
303
550
  file_path = os.path.join(root, file)
304
551
  try:
305
552
  # remove old file from index if exists
306
- file_id = self.window.core.idx.files.get_id(path)
553
+ file_id = self.window.core.idx.files.get_id(file_path)
554
+
555
+ if self.is_stopped(): # force stop
556
+ break
307
557
 
308
- if not is_tmp:
309
- self.remove_old_file(idx, file_id)
558
+ # force replace or not old document
559
+ if replace is not None:
560
+ if replace:
561
+ self.remove_old_file(idx, file_id, force=True)
562
+ else:
563
+ # if auto, only replace if not temporary
564
+ if not is_tmp:
565
+ self.remove_old_file(idx, file_id)
310
566
 
311
567
  # index new version of file
312
568
  documents = self.get_documents(file_path)
313
569
  for d in documents:
570
+ if self.is_stopped(): # force stop
571
+ break
572
+
314
573
  self.prepare_document(d)
315
574
  self.index_document(index, d)
316
575
  indexed[file_path] = d.id_ # add to index
@@ -319,7 +578,12 @@ class Indexing:
319
578
  errors.append(str(e))
320
579
  print("Error while indexing file: " + file_path)
321
580
  self.window.core.debug.log(e)
322
- continue
581
+ if self.stop_enabled():
582
+ is_break = True
583
+ break # break loop if error
584
+
585
+ if is_break or self.is_stopped():
586
+ break # stop os.walk if error or forced stop
323
587
 
324
588
  # file
325
589
  elif os.path.isfile(path):
@@ -327,12 +591,21 @@ class Indexing:
327
591
  # remove old file from index if exists
328
592
  file_id = self.window.core.idx.files.get_id(path)
329
593
 
330
- if not is_tmp:
331
- self.remove_old_file(idx, file_id)
594
+ # force replace or not old document
595
+ if replace is not None:
596
+ if replace:
597
+ self.remove_old_file(idx, file_id, force=True)
598
+ else:
599
+ # if auto, only replace if not temporary
600
+ if not is_tmp:
601
+ self.remove_old_file(idx, file_id)
332
602
 
333
603
  # index new version of file
334
604
  documents = self.get_documents(path)
335
605
  for d in documents:
606
+ if self.is_stopped(): # force stop
607
+ break
608
+
336
609
  self.prepare_document(d)
337
610
  self.index_document(index, d)
338
611
  indexed[path] = d.id_ # add to index
@@ -344,7 +617,10 @@ class Indexing:
344
617
 
345
618
  return indexed, errors
346
619
 
347
- def get_db_data_from_ts(self, updated_ts: int = 0) -> list:
620
+ def get_db_data_from_ts(
621
+ self,
622
+ updated_ts: int = 0
623
+ ) -> List[Document]:
348
624
  """
349
625
  Get data from database from timestamp
350
626
 
@@ -384,7 +660,10 @@ class Indexing:
384
660
  documents.append(doc)
385
661
  return documents
386
662
 
387
- def get_db_meta_ids_from_ts(self, updated_ts: int = 0) -> list:
663
+ def get_db_meta_ids_from_ts(
664
+ self,
665
+ updated_ts: int = 0
666
+ ) -> List[int]:
388
667
  """
389
668
  Get IDs of meta from database from timestamp
390
669
 
@@ -408,7 +687,11 @@ class Indexing:
408
687
  ids.append(data["id"])
409
688
  return ids
410
689
 
411
- def get_db_data_by_id(self, id: int = 0, updated_ts: int = 0) -> list:
690
+ def get_db_data_by_id(
691
+ self,
692
+ id: int = 0,
693
+ updated_ts: int = 0
694
+ ) -> List[Document]:
412
695
  """
413
696
  Get data from database by meta id
414
697
 
@@ -446,7 +729,13 @@ class Indexing:
446
729
  documents.append(doc)
447
730
  return documents
448
731
 
449
- def index_db_by_meta_id(self, idx: str, index: BaseIndex, id: int = 0, from_ts: int = 0) -> (int, list):
732
+ def index_db_by_meta_id(
733
+ self,
734
+ idx: str,
735
+ index: BaseIndex,
736
+ id: int = 0,
737
+ from_ts: int = 0
738
+ ) -> Tuple[int, List[str]]:
450
739
  """
451
740
  Index data from database by meta id
452
741
 
@@ -464,14 +753,19 @@ class Indexing:
464
753
  self.window.core.idx.log("Indexing documents from database by meta id: {}".format(id))
465
754
  self.remove_old_meta_id(idx, id)
466
755
  elif from_ts > 0:
467
- self.window.core.idx.log("Indexing documents from database by meta id: {} from timestamp: {}".format(id, from_ts))
756
+ self.window.core.idx.log("Indexing documents from database by meta id: {} from timestamp: {}".
757
+ format(id, from_ts))
468
758
 
469
759
  # get items from database
470
760
  documents = self.get_db_data_by_id(id, from_ts)
471
761
  for d in documents:
762
+ if self.is_stopped(): # force stop
763
+ break
764
+
472
765
  self.index_document(index, d)
473
766
  doc_id = d.id_
474
- self.window.core.idx.log("Inserted ctx DB document: {} / {}, id: {}, metadata: {}".format(n+1, len(documents), d.id_, d.metadata))
767
+ self.window.core.idx.log("Inserted ctx DB document: {} / {}, id: {}, metadata: {}".
768
+ format(n+1, len(documents), d.id_, d.metadata))
475
769
  self.window.core.ctx.idx.set_meta_as_indexed(id, idx, doc_id) # update ctx
476
770
  n += 1
477
771
  except Exception as e:
@@ -479,7 +773,12 @@ class Indexing:
479
773
  self.window.core.debug.log(e)
480
774
  return n, errors
481
775
 
482
- def index_db_from_updated_ts(self, idx: str, index: BaseIndex, from_ts: int = 0) -> (int, list):
776
+ def index_db_from_updated_ts(
777
+ self,
778
+ idx: str,
779
+ index: BaseIndex,
780
+ from_ts: int = 0
781
+ ) -> Tuple[int, List[str]]:
483
782
  """
484
783
  Index data from database from timestamp
485
784
 
@@ -493,6 +792,9 @@ class Indexing:
493
792
  n = 0
494
793
  ids = self.get_db_meta_ids_from_ts(from_ts)
495
794
  for id in ids:
795
+ if self.is_stopped(): # force stop
796
+ break
797
+
496
798
  indexed, errs = self.index_db_by_meta_id(idx, index, id, from_ts)
497
799
  n += indexed
498
800
  errors.extend(errs)
@@ -504,9 +806,10 @@ class Indexing:
504
806
  index: BaseIndex,
505
807
  url: str,
506
808
  type="webpage",
507
- extra_args: dict = None,
508
- is_tmp: bool = False
509
- ) -> (int, list):
809
+ extra_args: Optional[Dict[str, Any]] = None,
810
+ is_tmp: bool = False,
811
+ replace: Optional[bool] = None
812
+ ) -> Tuple[int, List[str]]:
510
813
  """
511
814
  Index data from external (remote) resource
512
815
 
@@ -516,6 +819,7 @@ class Indexing:
516
819
  :param type: type of URL (webpage, feed, etc.)
517
820
  :param extra_args: extra arguments for loader
518
821
  :param is_tmp: True if temporary index
822
+ :param replace: True if force replace old document
519
823
  :return: number of indexed documents, errors
520
824
  """
521
825
  errors = []
@@ -541,8 +845,13 @@ class Indexing:
541
845
  unique_id = self.data_providers[type].get_external_id(extra_args)
542
846
 
543
847
  # remove old document from index
544
- if not is_tmp:
545
- self.remove_old_external(idx, unique_id, type)
848
+ if replace is not None:
849
+ if replace:
850
+ self.remove_old_external(idx, unique_id, type, force=True)
851
+ else:
852
+ # if auto, only replace if not temporary
853
+ if not is_tmp:
854
+ self.remove_old_external(idx, unique_id, type)
546
855
 
547
856
  self.window.core.idx.log("Loading web documents from: {}".format(unique_id))
548
857
  self.window.core.idx.log("Using web loader for type: {}".format(type))
@@ -558,6 +867,9 @@ class Indexing:
558
867
  self.window.core.idx.metadata.append_web_metadata(documents, type, args)
559
868
 
560
869
  for d in documents:
870
+ if self.is_stopped(): # force stop
871
+ break
872
+
561
873
  self.index_document(index, d)
562
874
  doc_id = d.id_ # URL is used as document ID
563
875
  if not is_tmp:
@@ -567,7 +879,8 @@ class Indexing:
567
879
  idx=idx,
568
880
  doc_id=doc_id,
569
881
  ) # update external index
570
- self.window.core.idx.log("Inserted web document: {} / {}, id: {}, metadata: {}".format(n+1, len(documents), d.id_, d.metadata))
882
+ self.window.core.idx.log("Inserted web document: {} / {}, id: {}, metadata: {}".
883
+ format(n+1, len(documents), d.id_, d.metadata))
571
884
  n += 1
572
885
  except Exception as e:
573
886
  errors.append(str(e))
@@ -580,9 +893,9 @@ class Indexing:
580
893
  index: BaseIndex,
581
894
  urls: list,
582
895
  type="webpage",
583
- extra_args: dict = None,
896
+ extra_args: Optional[Dict[str, Any]] = None,
584
897
  is_tmp: bool = False
585
- ) -> (int, list):
898
+ ) -> Tuple[int, List[str]]:
586
899
  """
587
900
  Index data from URLs
588
901
 
@@ -605,6 +918,9 @@ class Indexing:
605
918
  return n, errors
606
919
 
607
920
  for url in urls:
921
+ if self.is_stopped(): # force stop
922
+ break
923
+
608
924
  indexed, errs = self.index_url(
609
925
  idx=idx,
610
926
  index=index,
@@ -617,16 +933,22 @@ class Indexing:
617
933
  errors.extend(errs)
618
934
  return n, errors
619
935
 
620
- def remove_old_meta_id(self, idx: str, id: int = 0) -> bool:
936
+ def remove_old_meta_id(
937
+ self,
938
+ idx: str,
939
+ id: int = 0,
940
+ force: bool = False
941
+ ) -> bool:
621
942
  """
622
943
  Remove old meta id from index
623
944
 
624
945
  :param idx: index name
625
946
  :param id: ctx meta id
947
+ :param force: force remove
626
948
  :return: True if removed, False if not
627
949
  """
628
950
  # abort if not configured to replace old documents
629
- if not self.window.core.config.get("llama.idx.replace_old"):
951
+ if not self.window.core.config.get("llama.idx.replace_old") and not force:
630
952
  return False
631
953
 
632
954
  store = self.window.core.idx.get_current_store()
@@ -640,20 +962,26 @@ class Indexing:
640
962
  doc_id=doc_id,
641
963
  )
642
964
  except Exception as e:
643
- pass
965
+ self.window.core.debug.log(e)
644
966
  return True
645
967
  return False
646
968
 
647
- def remove_old_file(self, idx: str, file_id: str):
969
+ def remove_old_file(
970
+ self,
971
+ idx: str,
972
+ file_id: str,
973
+ force: bool = False
974
+ ) -> bool:
648
975
  """
649
976
  Remove old file from index
650
977
 
651
978
  :param idx: index name
652
979
  :param file_id: file id
980
+ :param force: force remove
653
981
  :return: True if removed, False if not
654
982
  """
655
983
  # abort if not configured to replace old documents
656
- if not self.window.core.config.get("llama.idx.replace_old"):
984
+ if not self.window.core.config.get("llama.idx.replace_old") and not force:
657
985
  return False
658
986
 
659
987
  store = self.window.core.idx.get_current_store()
@@ -667,21 +995,28 @@ class Indexing:
667
995
  doc_id=doc_id,
668
996
  )
669
997
  except Exception as e:
670
- pass
998
+ self.window.core.debug.log(e)
671
999
  return True
672
1000
  return False
673
1001
 
674
- def remove_old_external(self, idx: str, content: str, type: str):
1002
+ def remove_old_external(
1003
+ self,
1004
+ idx: str,
1005
+ content: str,
1006
+ type: str,
1007
+ force: bool = False
1008
+ ) -> bool:
675
1009
  """
676
1010
  Remove old file from index
677
1011
 
678
1012
  :param idx: index name
679
1013
  :param content: content
680
1014
  :param type: type
1015
+ :param force: force remove
681
1016
  :return: True if removed, False if not
682
1017
  """
683
1018
  # abort if not configured to replace old documents
684
- if not self.window.core.config.get("llama.idx.replace_old"):
1019
+ if not self.window.core.config.get("llama.idx.replace_old") and not force:
685
1020
  return False
686
1021
 
687
1022
  store = self.window.core.idx.get_current_store()
@@ -695,11 +1030,15 @@ class Indexing:
695
1030
  doc_id=doc_id,
696
1031
  )
697
1032
  except Exception as e:
698
- pass
1033
+ self.window.core.debug.log(e)
699
1034
  return True
700
1035
  return False
701
1036
 
702
- def index_document(self, index: BaseIndex, doc: Document):
1037
+ def index_document(
1038
+ self,
1039
+ index: BaseIndex,
1040
+ doc: Document
1041
+ ):
703
1042
  """
704
1043
  Index document
705
1044
 
@@ -707,8 +1046,137 @@ class Indexing:
707
1046
  :param doc: document
708
1047
  """
709
1048
  self.apply_rate_limit() # apply RPM limit
1049
+ """
1050
+ try:
1051
+ # display embedding model info
1052
+ if index._embed_model is not None:
1053
+ self.window.core.idx.log("Embedding model: {}".format(index.service_context.embed_model.model_name))
1054
+ except Exception as e:
1055
+ self.window.core.debug.log(e)
1056
+ """
710
1057
  index.insert(document=doc)
711
1058
 
1059
+ def index_attachment(
1060
+ self,
1061
+ file_path: str,
1062
+ index_path: str,
1063
+ model: Optional[ModelItem] = None,
1064
+ documents: Optional[List[Document]] = None,
1065
+ ) -> list:
1066
+ """
1067
+ Index context attachment
1068
+
1069
+ :param file_path: path to file to index
1070
+ :param index_path: index path
1071
+ :param model: model
1072
+ :param documents: list of documents (optional)
1073
+ :return: response
1074
+ """
1075
+ if model is None:
1076
+ model = self.window.core.models.from_defaults()
1077
+
1078
+ llm, embed_model = self.window.core.idx.llm.get_service_context(model=model)
1079
+ index = self.window.core.idx.storage.get_ctx_idx(
1080
+ index_path,
1081
+ llm=llm,
1082
+ embed_model=embed_model,
1083
+ ) # get or create ctx index
1084
+
1085
+ idx = "tmp:{}".format(index_path) # tmp index id
1086
+ self.window.core.idx.log("Indexing to context attachment index: {}...".format(idx))
1087
+
1088
+ doc_ids = []
1089
+ if documents is None:
1090
+ documents = self.get_documents(file_path)
1091
+ for d in documents:
1092
+ if self.is_stopped(): # force stop
1093
+ break
1094
+ self.prepare_document(d)
1095
+ self.index_document(index, d)
1096
+ doc_ids.append(d.id_) # add to index
1097
+
1098
+ self.window.core.idx.storage.store_ctx_idx(index_path, index)
1099
+ return doc_ids
1100
+
1101
+ def index_attachment_web(
1102
+ self,
1103
+ url: str,
1104
+ index_path: str,
1105
+ model: Optional[ModelItem] = None,
1106
+ documents: Optional[List[Document]] = None,
1107
+ ) -> list:
1108
+ """
1109
+ Index context attachment
1110
+
1111
+ :param url: URL to index
1112
+ :param index_path: index path
1113
+ :param model: model
1114
+ :param documents: list of documents (optional)
1115
+ :return: response
1116
+ """
1117
+ if model is None:
1118
+ model = self.window.core.models.from_defaults()
1119
+
1120
+ llm, embed_model = self.window.core.idx.llm.get_service_context(model=model)
1121
+ index = self.window.core.idx.storage.get_ctx_idx(index_path, llm, embed_model) # get or create ctx index
1122
+
1123
+ idx = "tmp:{}".format(index_path) # tmp index id
1124
+ self.window.core.idx.log("Indexing to context attachment index: {}...".format(idx))
1125
+
1126
+ web_type = self.get_webtype(url)
1127
+ doc_ids = []
1128
+ if documents is None:
1129
+ documents = self.read_web(
1130
+ url=url,
1131
+ type=web_type,
1132
+ extra_args={},
1133
+ )
1134
+ for d in documents:
1135
+ if self.is_stopped(): # force stop
1136
+ break
1137
+ self.prepare_document(d)
1138
+ self.index_document(index, d)
1139
+ doc_ids.append(d.id_) # add to index
1140
+
1141
+ self.window.core.idx.storage.store_ctx_idx(index_path, index)
1142
+ return doc_ids
1143
+
1144
+ def get_webtype(self, url: str) -> str:
1145
+ """
1146
+ Get web loader type by URL
1147
+
1148
+ :param url: URL
1149
+ :return: web loader type
1150
+ """
1151
+ type = "webpage" # default
1152
+ for id in self.data_providers:
1153
+ loader = self.data_providers[id]
1154
+ if hasattr(loader, "is_supported_attachment"):
1155
+ if loader.is_supported_attachment(url):
1156
+ type = id
1157
+ break
1158
+ print("Selected web data loader: {}".format(type))
1159
+ return type
1160
+
1161
+ def remove_attachment(
1162
+ self,
1163
+ index_path: str,
1164
+ doc_id: str
1165
+ ) -> bool:
1166
+ """
1167
+ Remove document from index
1168
+
1169
+ :param index_path: index path
1170
+ :param doc_id: document ID
1171
+ :return: True if success
1172
+ """
1173
+ model = self.window.core.models.from_defaults()
1174
+ llm, embed_model = self.window.core.idx.llm.get_service_context(model=model)
1175
+ index = self.window.core.idx.storage.get_ctx_idx(index_path, llm, embed_model) # get or create ctx index
1176
+ index.delete_ref_doc(doc_id)
1177
+ self.window.core.idx.storage.store_ctx_idx(index_path, index)
1178
+ return True
1179
+
712
1180
  def apply_rate_limit(self):
713
1181
  """Apply API calls RPM limit"""
714
1182
  max_per_minute = 60
@@ -725,3 +1193,19 @@ class Indexing:
725
1193
  self.window.core.idx.log("RPM limit: sleep for {} seconds".format(sleep_time))
726
1194
  time.sleep(sleep_time)
727
1195
  self.last_call = now
1196
+
1197
+ def stop_enabled(self) -> bool:
1198
+ """
1199
+ Check if stop on error is enabled
1200
+
1201
+ :return: True if enabled
1202
+ """
1203
+ return self.window.core.config.get('llama.idx.stop.error')
1204
+
1205
+ def is_stopped(self) -> bool:
1206
+ """
1207
+ Check if indexing is stopped
1208
+
1209
+ :return: True if stopped
1210
+ """
1211
+ return self.window.controller.idx.is_stopped()