pygpt-net 2.4.37__py3-none-any.whl → 2.4.42__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. CHANGELOG.md +37 -0
  2. README.md +176 -182
  3. pygpt_net/CHANGELOG.txt +37 -0
  4. pygpt_net/__init__.py +3 -3
  5. pygpt_net/app.py +3 -1
  6. pygpt_net/controller/__init__.py +7 -3
  7. pygpt_net/controller/access/control.py +1 -1
  8. pygpt_net/controller/access/voice.py +11 -5
  9. pygpt_net/controller/agent/experts.py +11 -6
  10. pygpt_net/controller/agent/legacy.py +8 -6
  11. pygpt_net/controller/agent/llama.py +4 -2
  12. pygpt_net/controller/assistant/__init__.py +9 -4
  13. pygpt_net/controller/assistant/batch.py +38 -21
  14. pygpt_net/controller/assistant/editor.py +7 -6
  15. pygpt_net/controller/assistant/files.py +23 -7
  16. pygpt_net/controller/assistant/store.py +20 -7
  17. pygpt_net/controller/assistant/threads.py +34 -8
  18. pygpt_net/controller/attachment.py +29 -10
  19. pygpt_net/controller/audio/__init__.py +26 -5
  20. pygpt_net/controller/calendar/__init__.py +23 -4
  21. pygpt_net/controller/calendar/note.py +57 -11
  22. pygpt_net/controller/camera.py +4 -12
  23. pygpt_net/controller/chat/__init__.py +5 -3
  24. pygpt_net/controller/chat/attachment.py +34 -7
  25. pygpt_net/controller/chat/audio.py +2 -2
  26. pygpt_net/controller/chat/command.py +4 -2
  27. pygpt_net/controller/chat/common.py +11 -4
  28. pygpt_net/controller/chat/files.py +10 -3
  29. pygpt_net/controller/chat/image.py +17 -5
  30. pygpt_net/controller/chat/input.py +10 -7
  31. pygpt_net/controller/chat/output.py +21 -6
  32. pygpt_net/controller/chat/render.py +100 -21
  33. pygpt_net/controller/chat/response.py +34 -7
  34. pygpt_net/controller/chat/stream.py +4 -2
  35. pygpt_net/controller/chat/text.py +6 -4
  36. pygpt_net/controller/command.py +11 -3
  37. pygpt_net/controller/config/__init__.py +34 -6
  38. pygpt_net/controller/config/field/checkbox.py +7 -4
  39. pygpt_net/controller/config/field/cmd.py +7 -5
  40. pygpt_net/controller/config/field/combo.py +14 -6
  41. pygpt_net/controller/config/field/dictionary.py +14 -11
  42. pygpt_net/controller/config/field/input.py +9 -6
  43. pygpt_net/controller/config/field/slider.py +11 -8
  44. pygpt_net/controller/config/field/textarea.py +8 -5
  45. pygpt_net/controller/config/placeholder.py +66 -21
  46. pygpt_net/controller/ctx/__init__.py +138 -49
  47. pygpt_net/controller/ctx/common.py +15 -4
  48. pygpt_net/controller/ctx/extra.py +11 -3
  49. pygpt_net/controller/ctx/summarizer.py +24 -5
  50. pygpt_net/controller/debug/__init__.py +27 -6
  51. pygpt_net/controller/dialogs/confirm.py +34 -7
  52. pygpt_net/controller/dialogs/debug.py +4 -2
  53. pygpt_net/controller/dialogs/info.py +7 -2
  54. pygpt_net/controller/files.py +48 -10
  55. pygpt_net/controller/finder.py +11 -5
  56. pygpt_net/controller/idx/__init__.py +10 -3
  57. pygpt_net/controller/idx/common.py +4 -2
  58. pygpt_net/controller/idx/indexer.py +25 -17
  59. pygpt_net/controller/idx/settings.py +9 -3
  60. pygpt_net/controller/kernel/__init__.py +34 -8
  61. pygpt_net/controller/kernel/reply.py +12 -3
  62. pygpt_net/controller/kernel/stack.py +5 -3
  63. pygpt_net/controller/lang/custom.py +2 -7
  64. pygpt_net/controller/lang/mapping.py +5 -3
  65. pygpt_net/controller/layout.py +2 -2
  66. pygpt_net/controller/mode.py +16 -4
  67. pygpt_net/controller/model/__init__.py +14 -3
  68. pygpt_net/controller/model/editor.py +8 -3
  69. pygpt_net/controller/notepad.py +26 -12
  70. pygpt_net/controller/painter/capture.py +23 -4
  71. pygpt_net/controller/painter/common.py +9 -7
  72. pygpt_net/controller/plugins/__init__.py +19 -5
  73. pygpt_net/controller/plugins/presets.py +15 -6
  74. pygpt_net/controller/plugins/settings.py +9 -3
  75. pygpt_net/controller/presets/__init__.py +55 -16
  76. pygpt_net/controller/presets/editor.py +26 -10
  77. pygpt_net/controller/settings/__init__.py +3 -2
  78. pygpt_net/controller/settings/editor.py +29 -7
  79. pygpt_net/controller/settings/profile.py +22 -5
  80. pygpt_net/controller/theme/__init__.py +54 -12
  81. pygpt_net/controller/theme/common.py +24 -2
  82. pygpt_net/controller/theme/markdown.py +32 -16
  83. pygpt_net/controller/theme/menu.py +26 -5
  84. pygpt_net/controller/theme/nodes.py +2 -5
  85. pygpt_net/controller/tools/__init__.py +40 -2
  86. pygpt_net/controller/ui/__init__.py +4 -6
  87. pygpt_net/controller/ui/mode.py +16 -21
  88. pygpt_net/controller/ui/tabs.py +363 -65
  89. pygpt_net/core/access/actions.py +6 -4
  90. pygpt_net/core/access/shortcuts.py +4 -3
  91. pygpt_net/core/access/voice.py +6 -5
  92. pygpt_net/core/agents/legacy.py +4 -2
  93. pygpt_net/core/agents/memory.py +7 -2
  94. pygpt_net/core/agents/observer/evaluation.py +15 -7
  95. pygpt_net/core/agents/provider.py +9 -4
  96. pygpt_net/core/agents/runner.py +61 -15
  97. pygpt_net/core/agents/tools.py +23 -5
  98. pygpt_net/core/assistants/__init__.py +6 -4
  99. pygpt_net/core/assistants/files.py +35 -12
  100. pygpt_net/core/assistants/store.py +20 -10
  101. pygpt_net/core/attachments/__init__.py +54 -15
  102. pygpt_net/core/attachments/context.py +92 -29
  103. pygpt_net/core/audio/__init__.py +74 -3
  104. pygpt_net/core/audio/context.py +7 -2
  105. pygpt_net/core/audio/whisper.py +37 -0
  106. pygpt_net/core/bridge/__init__.py +22 -6
  107. pygpt_net/core/bridge/context.py +5 -3
  108. pygpt_net/core/bridge/worker.py +2 -2
  109. pygpt_net/core/calendar/__init__.py +57 -11
  110. pygpt_net/core/chain/__init__.py +8 -2
  111. pygpt_net/core/chain/chat.py +10 -8
  112. pygpt_net/core/chain/completion.py +10 -7
  113. pygpt_net/core/command.py +62 -17
  114. pygpt_net/core/ctx/__init__.py +260 -58
  115. pygpt_net/core/ctx/bag.py +25 -4
  116. pygpt_net/core/ctx/container.py +28 -17
  117. pygpt_net/core/ctx/idx.py +45 -8
  118. pygpt_net/core/ctx/output.py +95 -74
  119. pygpt_net/core/ctx/reply.py +5 -2
  120. pygpt_net/core/db/__init__.py +8 -7
  121. pygpt_net/core/db/viewer.py +17 -11
  122. pygpt_net/core/debug/__init__.py +10 -9
  123. pygpt_net/core/debug/events.py +22 -10
  124. pygpt_net/core/debug/tabs.py +9 -3
  125. pygpt_net/core/docker/__init__.py +11 -5
  126. pygpt_net/core/docker/builder.py +11 -3
  127. pygpt_net/core/events/app.py +5 -3
  128. pygpt_net/core/events/base.py +11 -5
  129. pygpt_net/core/events/control.py +5 -3
  130. pygpt_net/core/events/event.py +17 -7
  131. pygpt_net/core/events/kernel.py +5 -3
  132. pygpt_net/core/events/render.py +5 -3
  133. pygpt_net/core/experts/__init__.py +5 -4
  134. pygpt_net/core/filesystem/__init__.py +52 -34
  135. pygpt_net/core/filesystem/actions.py +8 -5
  136. pygpt_net/core/filesystem/editor.py +13 -3
  137. pygpt_net/core/filesystem/types.py +12 -7
  138. pygpt_net/core/filesystem/url.py +7 -3
  139. pygpt_net/core/history.py +3 -2
  140. pygpt_net/core/idx/__init__.py +48 -27
  141. pygpt_net/core/idx/chat.py +51 -17
  142. pygpt_net/core/idx/context.py +6 -2
  143. pygpt_net/core/idx/indexing.py +107 -42
  144. pygpt_net/core/idx/llm.py +11 -3
  145. pygpt_net/core/idx/metadata.py +13 -3
  146. pygpt_net/core/idx/types/ctx.py +32 -6
  147. pygpt_net/core/idx/types/external.py +41 -7
  148. pygpt_net/core/idx/types/files.py +31 -6
  149. pygpt_net/core/image.py +15 -4
  150. pygpt_net/core/installer.py +2 -4
  151. pygpt_net/core/llm/__init__.py +13 -3
  152. pygpt_net/core/locale.py +34 -8
  153. pygpt_net/core/models.py +63 -17
  154. pygpt_net/core/modes.py +11 -13
  155. pygpt_net/core/notepad.py +10 -5
  156. pygpt_net/core/plugins.py +31 -19
  157. pygpt_net/core/presets.py +37 -17
  158. pygpt_net/core/profile.py +21 -7
  159. pygpt_net/core/prompt/__init__.py +10 -3
  160. pygpt_net/core/prompt/custom.py +7 -6
  161. pygpt_net/core/prompt/template.py +9 -3
  162. pygpt_net/core/render/base.py +117 -22
  163. pygpt_net/core/render/markdown/body.py +27 -7
  164. pygpt_net/core/render/markdown/renderer.py +119 -22
  165. pygpt_net/core/render/plain/body.py +22 -5
  166. pygpt_net/core/render/plain/renderer.py +97 -21
  167. pygpt_net/core/render/web/body.py +75 -25
  168. pygpt_net/core/render/web/parser.py +3 -1
  169. pygpt_net/core/render/web/renderer.py +313 -63
  170. pygpt_net/core/settings.py +10 -5
  171. pygpt_net/core/tabs/__init__.py +290 -103
  172. pygpt_net/core/tabs/tab.py +26 -5
  173. pygpt_net/core/tokens.py +47 -12
  174. pygpt_net/core/updater/__init__.py +20 -7
  175. pygpt_net/core/vision/analyzer.py +29 -6
  176. pygpt_net/core/{web.py → web/__init__.py} +29 -7
  177. pygpt_net/core/web/helpers.py +237 -0
  178. pygpt_net/data/config/config.json +15 -4
  179. pygpt_net/data/config/models.json +3 -3
  180. pygpt_net/data/config/modes.json +3 -3
  181. pygpt_net/data/config/settings.json +55 -10
  182. pygpt_net/data/config/settings_section.json +3 -0
  183. pygpt_net/data/css/style.light.css +1 -0
  184. pygpt_net/data/css/{web.css → web-blocks.css} +162 -133
  185. pygpt_net/data/css/{web.light.css → web-blocks.light.css} +7 -0
  186. pygpt_net/data/css/web-chatgpt.css +350 -0
  187. pygpt_net/data/css/web-chatgpt.dark.css +64 -0
  188. pygpt_net/data/css/web-chatgpt.light.css +75 -0
  189. pygpt_net/data/css/web-chatgpt_wide.css +350 -0
  190. pygpt_net/data/css/web-chatgpt_wide.dark.css +64 -0
  191. pygpt_net/data/css/web-chatgpt_wide.light.css +75 -0
  192. pygpt_net/data/icons/split_screen.svg +1 -0
  193. pygpt_net/data/locale/locale.de.ini +12 -0
  194. pygpt_net/data/locale/locale.en.ini +18 -2
  195. pygpt_net/data/locale/locale.es.ini +12 -0
  196. pygpt_net/data/locale/locale.fr.ini +12 -0
  197. pygpt_net/data/locale/locale.it.ini +12 -0
  198. pygpt_net/data/locale/locale.pl.ini +12 -0
  199. pygpt_net/data/locale/locale.uk.ini +12 -0
  200. pygpt_net/data/locale/locale.zh.ini +12 -0
  201. pygpt_net/data/locale/plugin.cmd_web.de.ini +2 -0
  202. pygpt_net/data/locale/plugin.cmd_web.en.ini +22 -10
  203. pygpt_net/data/locale/plugin.cmd_web.es.ini +2 -0
  204. pygpt_net/data/locale/plugin.cmd_web.fr.ini +2 -0
  205. pygpt_net/data/locale/plugin.cmd_web.it.ini +2 -0
  206. pygpt_net/data/locale/plugin.cmd_web.pl.ini +2 -0
  207. pygpt_net/data/locale/plugin.cmd_web.uk.ini +2 -0
  208. pygpt_net/data/locale/plugin.cmd_web.zh.ini +2 -0
  209. pygpt_net/data/locale/plugin.mailer.en.ini +21 -0
  210. pygpt_net/icons.qrc +1 -0
  211. pygpt_net/icons_rc.py +165 -136
  212. pygpt_net/item/ctx.py +58 -25
  213. pygpt_net/plugin/agent/__init__.py +7 -2
  214. pygpt_net/plugin/audio_input/simple.py +21 -5
  215. pygpt_net/plugin/audio_output/__init__.py +9 -1
  216. pygpt_net/plugin/base/config.py +4 -2
  217. pygpt_net/plugin/base/plugin.py +75 -23
  218. pygpt_net/plugin/base/worker.py +42 -11
  219. pygpt_net/plugin/cmd_code_interpreter/__init__.py +39 -37
  220. pygpt_net/plugin/cmd_code_interpreter/runner.py +25 -12
  221. pygpt_net/plugin/cmd_history/config.py +2 -2
  222. pygpt_net/plugin/cmd_web/__init__.py +48 -9
  223. pygpt_net/plugin/cmd_web/config.py +135 -41
  224. pygpt_net/plugin/cmd_web/websearch.py +74 -33
  225. pygpt_net/plugin/cmd_web/worker.py +142 -13
  226. pygpt_net/plugin/idx_llama_index/config.py +3 -3
  227. pygpt_net/plugin/mailer/__init__.py +123 -0
  228. pygpt_net/plugin/mailer/config.py +149 -0
  229. pygpt_net/plugin/mailer/runner.py +285 -0
  230. pygpt_net/plugin/mailer/worker.py +123 -0
  231. pygpt_net/provider/agents/base.py +5 -2
  232. pygpt_net/provider/agents/openai.py +4 -2
  233. pygpt_net/provider/agents/openai_assistant.py +4 -2
  234. pygpt_net/provider/agents/planner.py +4 -2
  235. pygpt_net/provider/agents/react.py +4 -2
  236. pygpt_net/provider/audio_output/openai_tts.py +5 -11
  237. pygpt_net/provider/core/assistant/base.py +5 -3
  238. pygpt_net/provider/core/assistant/json_file.py +8 -5
  239. pygpt_net/provider/core/assistant_file/base.py +4 -3
  240. pygpt_net/provider/core/assistant_file/db_sqlite/__init__.py +4 -3
  241. pygpt_net/provider/core/assistant_file/db_sqlite/storage.py +3 -2
  242. pygpt_net/provider/core/assistant_store/base.py +6 -4
  243. pygpt_net/provider/core/assistant_store/db_sqlite/__init__.py +5 -4
  244. pygpt_net/provider/core/assistant_store/db_sqlite/storage.py +5 -3
  245. pygpt_net/provider/core/attachment/base.py +5 -3
  246. pygpt_net/provider/core/attachment/json_file.py +4 -3
  247. pygpt_net/provider/core/calendar/base.py +5 -3
  248. pygpt_net/provider/core/calendar/db_sqlite/__init__.py +6 -5
  249. pygpt_net/provider/core/calendar/db_sqlite/storage.py +5 -4
  250. pygpt_net/provider/core/config/base.py +8 -6
  251. pygpt_net/provider/core/config/json_file.py +9 -7
  252. pygpt_net/provider/core/config/patch.py +43 -1
  253. pygpt_net/provider/core/ctx/base.py +30 -25
  254. pygpt_net/provider/core/ctx/db_sqlite/__init__.py +59 -34
  255. pygpt_net/provider/core/ctx/db_sqlite/storage.py +62 -30
  256. pygpt_net/provider/core/ctx/db_sqlite/utils.py +11 -9
  257. pygpt_net/provider/core/index/base.py +129 -23
  258. pygpt_net/provider/core/index/db_sqlite/__init__.py +130 -23
  259. pygpt_net/provider/core/index/db_sqlite/storage.py +130 -23
  260. pygpt_net/provider/core/index/db_sqlite/utils.py +4 -2
  261. pygpt_net/provider/core/mode/base.py +5 -3
  262. pygpt_net/provider/core/mode/json_file.py +7 -6
  263. pygpt_net/provider/core/model/base.py +6 -4
  264. pygpt_net/provider/core/model/json_file.py +9 -7
  265. pygpt_net/provider/core/notepad/base.py +5 -3
  266. pygpt_net/provider/core/notepad/db_sqlite/__init__.py +5 -4
  267. pygpt_net/provider/core/notepad/db_sqlite/storage.py +4 -3
  268. pygpt_net/provider/core/plugin_preset/base.py +4 -2
  269. pygpt_net/provider/core/plugin_preset/json_file.py +5 -3
  270. pygpt_net/provider/core/preset/base.py +6 -4
  271. pygpt_net/provider/core/preset/json_file.py +9 -9
  272. pygpt_net/provider/core/prompt/base.py +6 -3
  273. pygpt_net/provider/core/prompt/json_file.py +11 -6
  274. pygpt_net/provider/gpt/assistants.py +21 -11
  275. pygpt_net/provider/gpt/audio.py +6 -5
  276. pygpt_net/provider/gpt/chat.py +10 -7
  277. pygpt_net/provider/gpt/completion.py +11 -5
  278. pygpt_net/provider/gpt/image.py +9 -2
  279. pygpt_net/provider/gpt/store.py +53 -18
  280. pygpt_net/provider/gpt/vision.py +17 -11
  281. pygpt_net/provider/llms/anthropic.py +7 -2
  282. pygpt_net/provider/llms/azure_openai.py +26 -5
  283. pygpt_net/provider/llms/base.py +47 -9
  284. pygpt_net/provider/llms/google.py +7 -2
  285. pygpt_net/provider/llms/hugging_face.py +13 -3
  286. pygpt_net/provider/llms/hugging_face_api.py +18 -4
  287. pygpt_net/provider/llms/local.py +7 -2
  288. pygpt_net/provider/llms/ollama.py +30 -6
  289. pygpt_net/provider/llms/openai.py +32 -6
  290. pygpt_net/provider/vector_stores/__init__.py +45 -14
  291. pygpt_net/provider/vector_stores/base.py +35 -8
  292. pygpt_net/provider/vector_stores/chroma.py +13 -3
  293. pygpt_net/provider/vector_stores/ctx_attachment.py +31 -12
  294. pygpt_net/provider/vector_stores/elasticsearch.py +12 -3
  295. pygpt_net/provider/vector_stores/pinecode.py +12 -3
  296. pygpt_net/provider/vector_stores/redis.py +12 -3
  297. pygpt_net/provider/vector_stores/simple.py +12 -3
  298. pygpt_net/provider/vector_stores/temp.py +16 -4
  299. pygpt_net/provider/web/base.py +10 -3
  300. pygpt_net/provider/web/google_custom_search.py +9 -3
  301. pygpt_net/provider/web/microsoft_bing.py +9 -3
  302. pygpt_net/tools/__init__.py +20 -4
  303. pygpt_net/tools/audio_transcriber/__init__.py +4 -3
  304. pygpt_net/tools/base.py +28 -7
  305. pygpt_net/tools/code_interpreter/__init__.py +177 -77
  306. pygpt_net/tools/code_interpreter/ui/dialogs.py +21 -103
  307. pygpt_net/tools/code_interpreter/ui/widgets.py +284 -9
  308. pygpt_net/tools/html_canvas/__init__.py +81 -25
  309. pygpt_net/tools/html_canvas/ui/dialogs.py +46 -62
  310. pygpt_net/tools/html_canvas/ui/widgets.py +96 -3
  311. pygpt_net/tools/image_viewer/__init__.py +10 -4
  312. pygpt_net/tools/indexer/__init__.py +8 -7
  313. pygpt_net/tools/media_player/__init__.py +4 -3
  314. pygpt_net/tools/text_editor/__init__.py +36 -10
  315. pygpt_net/ui/base/context_menu.py +2 -2
  316. pygpt_net/ui/layout/chat/input.py +10 -18
  317. pygpt_net/ui/layout/chat/output.py +27 -45
  318. pygpt_net/ui/layout/ctx/ctx_list.py +13 -4
  319. pygpt_net/ui/layout/toolbox/footer.py +18 -2
  320. pygpt_net/ui/main.py +2 -2
  321. pygpt_net/ui/menu/audio.py +12 -1
  322. pygpt_net/ui/menu/config.py +7 -11
  323. pygpt_net/ui/menu/debug.py +11 -1
  324. pygpt_net/ui/menu/theme.py +9 -2
  325. pygpt_net/ui/widget/filesystem/explorer.py +2 -2
  326. pygpt_net/ui/widget/lists/context.py +27 -5
  327. pygpt_net/ui/widget/tabs/Input.py +2 -2
  328. pygpt_net/ui/widget/tabs/body.py +2 -1
  329. pygpt_net/ui/widget/tabs/layout.py +195 -0
  330. pygpt_net/ui/widget/tabs/output.py +218 -55
  331. pygpt_net/ui/widget/textarea/html.py +11 -1
  332. pygpt_net/ui/widget/textarea/output.py +10 -1
  333. pygpt_net/ui/widget/textarea/search_input.py +4 -1
  334. pygpt_net/ui/widget/textarea/web.py +49 -9
  335. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.42.dist-info}/METADATA +177 -183
  336. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.42.dist-info}/RECORD +340 -325
  337. /pygpt_net/data/css/{web.dark.css → web-blocks.dark.css} +0 -0
  338. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.42.dist-info}/LICENSE +0 -0
  339. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.42.dist-info}/WHEEL +0 -0
  340. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.42.dist-info}/entry_points.txt +0 -0
@@ -6,9 +6,11 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.11.21 20:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Dict, Any
13
+
12
14
  from pygpt_net.core.types import (
13
15
  MODE_AGENT_LLAMA,
14
16
  MODE_ASSISTANT,
@@ -29,7 +31,12 @@ class Response:
29
31
  super(Response, self).__init__()
30
32
  self.window = window
31
33
 
32
- def handle(self, context: BridgeContext, extra: dict, status: bool):
34
+ def handle(
35
+ self,
36
+ context: BridgeContext,
37
+ extra: Dict[str, Any],
38
+ status: bool
39
+ ):
33
40
  """
34
41
  Handle Bridge success
35
42
 
@@ -92,7 +99,11 @@ class Response:
92
99
  self.window.controller.chat.output.post_handle(ctx, mode, stream, reply, internal)
93
100
  self.window.controller.chat.output.handle_end(ctx, mode) # handle end.
94
101
 
95
- def begin(self, context: BridgeContext, extra: dict):
102
+ def begin(
103
+ self,
104
+ context: BridgeContext,
105
+ extra: Dict[str, Any]
106
+ ):
96
107
  """
97
108
  Handle Bridge begin
98
109
 
@@ -104,7 +115,11 @@ class Response:
104
115
  if msg:
105
116
  self.window.update_status(msg)
106
117
 
107
- def append(self, context: BridgeContext, extra: dict):
118
+ def append(
119
+ self,
120
+ context: BridgeContext,
121
+ extra: Dict[str, Any]
122
+ ):
108
123
  """
109
124
  Handle Bridge append (agent mode)
110
125
 
@@ -204,7 +219,11 @@ class Response:
204
219
  if ctx.extra is not None and (type(ctx.extra) == dict and "agent_finish" in ctx.extra):
205
220
  self.window.controller.agent.llama.on_finish(ctx) # evaluate response and continue if needed
206
221
 
207
- def end(self, context: BridgeContext, extra: dict):
222
+ def end(
223
+ self,
224
+ context: BridgeContext,
225
+ extra: Dict[str, Any]
226
+ ):
208
227
  """
209
228
  Handle Bridge end
210
229
 
@@ -223,7 +242,11 @@ class Response:
223
242
  "id": "chat",
224
243
  }))
225
244
 
226
- def failed(self, context: BridgeContext, extra: dict):
245
+ def failed(
246
+ self,
247
+ context: BridgeContext,
248
+ extra: Dict[str, Any]
249
+ ):
227
250
  """
228
251
  Handle Bridge failed
229
252
 
@@ -240,7 +263,11 @@ class Response:
240
263
  "id": "chat",
241
264
  }))
242
265
 
243
- def update_status(self, context: BridgeContext, extra: dict):
266
+ def update_status(
267
+ self,
268
+ context: BridgeContext,
269
+ extra: Dict[str, Any]
270
+ ):
244
271
  """
245
272
  Handle Bridge evaluate
246
273
 
@@ -6,9 +6,11 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.11.20 21:00:00 #
9
+ # Updated Date: 2024.12.14 00:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Any
13
+
12
14
  from PySide6.QtWidgets import QApplication
13
15
 
14
16
  from pygpt_net.core.events import RenderEvent
@@ -175,7 +177,7 @@ class Stream:
175
177
  # log
176
178
  self.log("[chat] Stream end.")
177
179
 
178
- def log(self, data: any):
180
+ def log(self, data: Any):
179
181
  """
180
182
  Log data to debug
181
183
 
@@ -6,9 +6,11 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.11.26 19:00:00 #
9
+ # Updated Date: 2024.12.14 00:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Optional
13
+
12
14
  from pygpt_net.core.types import (
13
15
  MODE_AGENT,
14
16
  MODE_AGENT_LLAMA,
@@ -37,9 +39,9 @@ class Text:
37
39
  text: str,
38
40
  reply: bool = False,
39
41
  internal: bool = False,
40
- prev_ctx: CtxItem = None,
41
- parent_id: str = None,
42
- multimodal_ctx: MultimodalContext = None,
42
+ prev_ctx: Optional[CtxItem] = None,
43
+ parent_id: Optional[str] = None,
44
+ multimodal_ctx: Optional[MultimodalContext] = None,
43
45
  ) -> CtxItem:
44
46
  """
45
47
  Send text message
@@ -6,7 +6,7 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.11.20 21:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import json
@@ -27,7 +27,10 @@ class Command:
27
27
  """
28
28
  self.window = window
29
29
  self.stop = False
30
- self.flush_events = [Event.CMD_EXECUTE, Event.CMD_INLINE]
30
+ self.flush_events = [
31
+ Event.CMD_EXECUTE,
32
+ Event.CMD_INLINE,
33
+ ]
31
34
 
32
35
  def dispatch(self, event: Event, all: bool = False):
33
36
  """
@@ -88,7 +91,12 @@ class Command:
88
91
  worker.kwargs['finished_signal'] = worker.signals.finished
89
92
  self.window.threadpool.start(worker)
90
93
 
91
- def worker(self, event: Event, window, finished_signal: Signal):
94
+ def worker(
95
+ self,
96
+ event: Event,
97
+ window,
98
+ finished_signal: Signal
99
+ ):
92
100
  """
93
101
  Command worker callback
94
102
 
@@ -6,9 +6,11 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.04.26 23:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Any, Dict
13
+
12
14
  from .field.checkbox import Checkbox
13
15
  from .field.combo import Combo
14
16
  from .field.cmd import Cmd
@@ -36,7 +38,11 @@ class Config:
36
38
  self.slider = Slider(window)
37
39
  self.textarea = Textarea(window)
38
40
 
39
- def load_options(self, parent_id: str, options: dict):
41
+ def load_options(
42
+ self,
43
+ parent_id: str,
44
+ options: Dict[str, Dict[str, Any]]
45
+ ):
40
46
  """
41
47
  Load options
42
48
 
@@ -47,7 +53,12 @@ class Config:
47
53
  option = options[key]
48
54
  self.apply(parent_id, key, option)
49
55
 
50
- def apply(self, parent_id: str, key: str, option: dict):
56
+ def apply(
57
+ self,
58
+ parent_id: str,
59
+ key: str,
60
+ option: Dict[str, Any]
61
+ ):
51
62
  """
52
63
  Apply option to field handler based on type
53
64
 
@@ -73,7 +84,13 @@ class Config:
73
84
  elif option['type'] == 'cmd':
74
85
  self.cmd.apply(parent_id, key, option)
75
86
 
76
- def apply_value(self, parent_id: str, key: str, option: dict, value):
87
+ def apply_value(
88
+ self,
89
+ parent_id: str,
90
+ key: str,
91
+ option: Dict[str, Any],
92
+ value: Any
93
+ ):
77
94
  """
78
95
  Apply value to option
79
96
 
@@ -85,7 +102,13 @@ class Config:
85
102
  option['value'] = value
86
103
  self.apply(parent_id, key, option)
87
104
 
88
- def get_value(self, parent_id: str, key: str, option: dict, idx: bool = False) -> any:
105
+ def get_value(
106
+ self,
107
+ parent_id: str,
108
+ key: str,
109
+ option: Dict[str, Any],
110
+ idx: bool = False
111
+ ) -> Any:
89
112
  """
90
113
  Get value from field handler based on type
91
114
 
@@ -113,7 +136,12 @@ class Config:
113
136
  elif option['type'] == 'cmd':
114
137
  return self.cmd.get_value(parent_id, key, option)
115
138
 
116
- def update_combo(self, parent_id: str, key: str, items: dict):
139
+ def update_combo(
140
+ self,
141
+ parent_id: str,
142
+ key: str,
143
+ items: Dict[str, str]
144
+ ):
117
145
  """
118
146
  Update combo items
119
147
 
@@ -6,9 +6,12 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.01.30 20:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Any, Dict
13
+
14
+
12
15
  class Checkbox:
13
16
  def __init__(self, window=None):
14
17
  """
@@ -22,7 +25,7 @@ class Checkbox:
22
25
  self,
23
26
  parent_id: str,
24
27
  key: str,
25
- option: dict
28
+ option: Dict[str, Any]
26
29
  ):
27
30
  """
28
31
  Apply value to checkbox
@@ -42,7 +45,7 @@ class Checkbox:
42
45
  parent_id: str,
43
46
  key: str,
44
47
  option: dict,
45
- value: any,
48
+ value: Any,
46
49
  hooks: bool = True
47
50
  ):
48
51
  """
@@ -68,7 +71,7 @@ class Checkbox:
68
71
  self,
69
72
  parent_id: str,
70
73
  key: str,
71
- option: dict
74
+ option: Dict[str, Any]
72
75
  ) -> bool:
73
76
  """
74
77
  Get checkbox value
@@ -6,9 +6,11 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.03.12 06:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Dict, Any
13
+
12
14
  from pygpt_net.utils import trans
13
15
 
14
16
 
@@ -25,7 +27,7 @@ class Cmd:
25
27
  self,
26
28
  parent_id: str,
27
29
  key: str,
28
- option: dict
30
+ option: Dict[str, Any]
29
31
  ):
30
32
  """
31
33
  Apply values to command fields
@@ -57,7 +59,7 @@ class Cmd:
57
59
  self,
58
60
  parent_id: str,
59
61
  key: str,
60
- values: dict,
62
+ values: Dict[str, Any],
61
63
  idx: int
62
64
  ):
63
65
  """
@@ -77,7 +79,7 @@ class Cmd:
77
79
  self,
78
80
  parent_id: str,
79
81
  key: str,
80
- option: dict
82
+ option: Dict[str, Any]
81
83
  ) -> dict:
82
84
  """
83
85
  Get command values
@@ -97,7 +99,7 @@ class Cmd:
97
99
  def to_options(
98
100
  self,
99
101
  parent_id: str,
100
- option: dict
102
+ option: Dict[str, Any]
101
103
  ) -> dict:
102
104
  """
103
105
  Convert dictionary items option to options
@@ -6,9 +6,12 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.04.26 23:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Any, Dict
13
+
14
+
12
15
  class Combo:
13
16
  def __init__(self, window=None):
14
17
  """
@@ -22,7 +25,7 @@ class Combo:
22
25
  self,
23
26
  parent_id: str,
24
27
  key: str,
25
- option: dict
28
+ option: Dict[str, Any]
26
29
  ):
27
30
  """
28
31
  Apply value to combobox
@@ -44,8 +47,8 @@ class Combo:
44
47
  self,
45
48
  parent_id: str,
46
49
  key: str,
47
- option: dict,
48
- value: any,
50
+ option: Dict[str, Any],
51
+ value: Any,
49
52
  hooks: bool = True
50
53
  ):
51
54
  """
@@ -71,7 +74,7 @@ class Combo:
71
74
  self,
72
75
  parent_id: str,
73
76
  key: str,
74
- option: dict,
77
+ option: Dict[str, Any],
75
78
  idx: bool = False
76
79
  ) -> str or int:
77
80
  """
@@ -88,7 +91,12 @@ class Combo:
88
91
  else:
89
92
  return self.window.ui.config[parent_id][key].combo.currentData()
90
93
 
91
- def update_list(self, parent_id: str, key: str, items: dict):
94
+ def update_list(
95
+ self,
96
+ parent_id: str,
97
+ key: str,
98
+ items: Dict[str, str]
99
+ ):
92
100
  """
93
101
  Update combobox items
94
102
 
@@ -6,9 +6,12 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.03.12 06:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Dict, Any, List
13
+
14
+ from pygpt_net.ui.widget.option.dictionary import OptionDict
12
15
  from pygpt_net.utils import trans
13
16
 
14
17
 
@@ -25,7 +28,7 @@ class Dictionary:
25
28
  self,
26
29
  parent_id: str,
27
30
  key: str,
28
- option: dict
31
+ option: Dict[str, Any]
29
32
  ):
30
33
  """
31
34
  Apply values to dictionary
@@ -44,7 +47,7 @@ class Dictionary:
44
47
  self,
45
48
  parent_id: str,
46
49
  key: str,
47
- values: dict,
50
+ values: Dict[str, Any],
48
51
  idx: int
49
52
  ):
50
53
  """
@@ -64,8 +67,8 @@ class Dictionary:
64
67
  self,
65
68
  parent_id: str,
66
69
  key: str,
67
- option: dict
68
- ) -> list:
70
+ option: Dict[str, Any]
71
+ ) -> List[Dict[str, Any]]:
69
72
  """
70
73
  Get dictionary values
71
74
 
@@ -78,7 +81,7 @@ class Dictionary:
78
81
 
79
82
  def delete_item(
80
83
  self,
81
- parent_object,
84
+ parent_object: OptionDict,
82
85
  id: str,
83
86
  force: bool = False,
84
87
  hooks: bool = True
@@ -117,8 +120,8 @@ class Dictionary:
117
120
  def to_options(
118
121
  self,
119
122
  parent_id: str,
120
- option: dict
121
- ) -> dict:
123
+ option: Dict[str, Any]
124
+ ) -> Dict[str, Any]:
122
125
  """
123
126
  Convert dictionary items option to options
124
127
 
@@ -145,8 +148,8 @@ class Dictionary:
145
148
  def append_editor(
146
149
  self,
147
150
  id: str,
148
- option: dict,
149
- data: dict
151
+ option: Dict[str, Any],
152
+ data: Dict[str, Any]
150
153
  ):
151
154
  """
152
155
  Apply dict item option sub-values to dict editor
@@ -173,7 +176,7 @@ class Dictionary:
173
176
  self,
174
177
  option_key: str,
175
178
  parent: str,
176
- fields: dict,
179
+ fields: Dict[str, Dict[str, Any]],
177
180
  hooks: bool = True
178
181
  ):
179
182
  """
@@ -6,9 +6,12 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.03.15 12:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Any, Dict, Optional, Union
13
+
14
+
12
15
  class Input:
13
16
  def __init__(self, window=None):
14
17
  """
@@ -22,7 +25,7 @@ class Input:
22
25
  self,
23
26
  parent_id: str,
24
27
  key: str,
25
- option: dict
28
+ option: Dict[str, Any]
26
29
  ):
27
30
  """
28
31
  Apply value to input
@@ -60,8 +63,8 @@ class Input:
60
63
  self,
61
64
  parent_id: str,
62
65
  key: str,
63
- option: dict,
64
- value: any,
66
+ option: Dict[str, Any],
67
+ value: Any,
65
68
  hooks: bool = True
66
69
  ):
67
70
  """
@@ -90,8 +93,8 @@ class Input:
90
93
  self,
91
94
  parent_id: str,
92
95
  key: str,
93
- option: dict
94
- ) -> any:
96
+ option: Dict[str, Any]
97
+ ) -> Optional[Union[int, float, str]]:
95
98
  """
96
99
  Get value from input
97
100
 
@@ -6,9 +6,12 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.04.20 06:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Any, Optional, Dict, Union
13
+
14
+
12
15
  class Slider:
13
16
  def __init__(self, window=None):
14
17
  """
@@ -22,8 +25,8 @@ class Slider:
22
25
  self,
23
26
  parent_id: str,
24
27
  key: str,
25
- option: dict,
26
- type: str = None
28
+ option: Dict[str, Any],
29
+ type: Optional[str] = None
27
30
  ):
28
31
  """
29
32
  Apply value to slider
@@ -89,9 +92,9 @@ class Slider:
89
92
  self,
90
93
  parent_id: str,
91
94
  key: str,
92
- option: dict,
93
- value: any,
94
- type: str = None,
95
+ option: Dict[str, Any],
96
+ value: Any,
97
+ type: Optional[str] = None,
95
98
  hooks: bool = True
96
99
  ):
97
100
  """
@@ -121,8 +124,8 @@ class Slider:
121
124
  self,
122
125
  parent_id: str,
123
126
  key: str,
124
- option: dict
125
- ) -> any:
127
+ option: Dict[str, Any]
128
+ ) -> Union[int, float]:
126
129
  """
127
130
  Get slider value
128
131
 
@@ -6,9 +6,12 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2024.03.11 01:00:00 #
9
+ # Updated Date: 2024.12.14 08:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ from typing import Any, Dict
13
+
14
+
12
15
  class Textarea:
13
16
  def __init__(self, window=None):
14
17
  """
@@ -22,7 +25,7 @@ class Textarea:
22
25
  self,
23
26
  parent_id: str,
24
27
  key: str,
25
- option: dict
28
+ option: Dict[str, Any]
26
29
  ):
27
30
  """
28
31
  Apply value to textarea
@@ -38,8 +41,8 @@ class Textarea:
38
41
  self,
39
42
  parent_id: str,
40
43
  key: str,
41
- option: dict,
42
- value: any,
44
+ option: Dict[str, Any],
45
+ value: Any,
43
46
  hooks: bool = True
44
47
  ):
45
48
  """
@@ -68,7 +71,7 @@ class Textarea:
68
71
  self,
69
72
  parent_id: str,
70
73
  key: str,
71
- option: dict
74
+ option: Dict[str, Any]
72
75
  ) -> str:
73
76
  """
74
77
  Get value of textarea