pygpt-net 2.4.47__py3-none-any.whl

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