pygpt-net 2.4.37__py3-none-any.whl → 2.4.39__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 (81) hide show
  1. CHANGELOG.md +11 -0
  2. README.md +24 -5
  3. pygpt_net/CHANGELOG.txt +11 -0
  4. pygpt_net/__init__.py +3 -3
  5. pygpt_net/controller/__init__.py +3 -1
  6. pygpt_net/controller/calendar/__init__.py +3 -1
  7. pygpt_net/controller/chat/render.py +8 -5
  8. pygpt_net/controller/config/placeholder.py +29 -0
  9. pygpt_net/controller/ctx/__init__.py +32 -24
  10. pygpt_net/controller/ctx/common.py +3 -2
  11. pygpt_net/controller/dialogs/confirm.py +2 -2
  12. pygpt_net/controller/lang/custom.py +2 -7
  13. pygpt_net/controller/lang/mapping.py +2 -2
  14. pygpt_net/controller/layout.py +2 -2
  15. pygpt_net/controller/notepad.py +8 -5
  16. pygpt_net/controller/settings/editor.py +6 -0
  17. pygpt_net/controller/theme/__init__.py +33 -8
  18. pygpt_net/controller/theme/common.py +22 -1
  19. pygpt_net/controller/theme/markdown.py +26 -14
  20. pygpt_net/controller/theme/menu.py +26 -5
  21. pygpt_net/controller/ui/tabs.py +201 -58
  22. pygpt_net/core/attachments/context.py +14 -12
  23. pygpt_net/core/audio/__init__.py +59 -1
  24. pygpt_net/core/ctx/__init__.py +11 -1
  25. pygpt_net/core/ctx/container.py +16 -9
  26. pygpt_net/core/ctx/output.py +86 -67
  27. pygpt_net/core/debug/tabs.py +3 -2
  28. pygpt_net/core/filesystem/__init__.py +5 -19
  29. pygpt_net/core/filesystem/url.py +7 -3
  30. pygpt_net/core/render/base.py +14 -3
  31. pygpt_net/core/render/markdown/renderer.py +3 -1
  32. pygpt_net/core/render/plain/renderer.py +3 -3
  33. pygpt_net/core/render/web/body.py +39 -17
  34. pygpt_net/core/render/web/renderer.py +7 -5
  35. pygpt_net/core/tabs/__init__.py +180 -71
  36. pygpt_net/core/tabs/tab.py +13 -4
  37. pygpt_net/data/config/config.json +14 -4
  38. pygpt_net/data/config/models.json +3 -3
  39. pygpt_net/data/config/modes.json +3 -3
  40. pygpt_net/data/config/settings.json +55 -10
  41. pygpt_net/data/config/settings_section.json +3 -0
  42. pygpt_net/data/css/style.light.css +1 -0
  43. pygpt_net/data/css/{web.css → web-blocks.css} +144 -133
  44. pygpt_net/data/css/web-chatgpt.css +342 -0
  45. pygpt_net/data/css/web-chatgpt.dark.css +64 -0
  46. pygpt_net/data/css/web-chatgpt.light.css +75 -0
  47. pygpt_net/data/css/web-chatgpt_wide.css +342 -0
  48. pygpt_net/data/css/web-chatgpt_wide.dark.css +64 -0
  49. pygpt_net/data/css/web-chatgpt_wide.light.css +75 -0
  50. pygpt_net/data/locale/locale.de.ini +12 -0
  51. pygpt_net/data/locale/locale.en.ini +14 -1
  52. pygpt_net/data/locale/locale.es.ini +12 -0
  53. pygpt_net/data/locale/locale.fr.ini +12 -0
  54. pygpt_net/data/locale/locale.it.ini +12 -0
  55. pygpt_net/data/locale/locale.pl.ini +12 -0
  56. pygpt_net/data/locale/locale.uk.ini +12 -0
  57. pygpt_net/data/locale/locale.zh.ini +12 -0
  58. pygpt_net/plugin/audio_input/simple.py +21 -5
  59. pygpt_net/provider/core/config/patch.py +22 -1
  60. pygpt_net/provider/core/ctx/base.py +4 -1
  61. pygpt_net/provider/core/ctx/db_sqlite/__init__.py +10 -1
  62. pygpt_net/provider/core/ctx/db_sqlite/storage.py +22 -1
  63. pygpt_net/ui/layout/chat/input.py +10 -18
  64. pygpt_net/ui/layout/chat/output.py +26 -44
  65. pygpt_net/ui/layout/toolbox/footer.py +18 -2
  66. pygpt_net/ui/menu/config.py +7 -11
  67. pygpt_net/ui/menu/theme.py +9 -2
  68. pygpt_net/ui/widget/lists/context.py +1 -0
  69. pygpt_net/ui/widget/tabs/layout.py +195 -0
  70. pygpt_net/ui/widget/tabs/output.py +124 -35
  71. pygpt_net/ui/widget/textarea/html.py +11 -1
  72. pygpt_net/ui/widget/textarea/output.py +10 -1
  73. pygpt_net/ui/widget/textarea/search_input.py +4 -1
  74. pygpt_net/ui/widget/textarea/web.py +49 -9
  75. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.39.dist-info}/METADATA +25 -6
  76. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.39.dist-info}/RECORD +81 -74
  77. /pygpt_net/data/css/{web.dark.css → web-blocks.dark.css} +0 -0
  78. /pygpt_net/data/css/{web.light.css → web-blocks.light.css} +0 -0
  79. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.39.dist-info}/LICENSE +0 -0
  80. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.39.dist-info}/WHEEL +0 -0
  81. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.39.dist-info}/entry_points.txt +0 -0
@@ -6,21 +6,24 @@
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.09 00:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import re
13
13
 
14
- from PySide6.QtCore import Qt, QObject, Signal, Slot
14
+ from PySide6.QtCore import Qt, QObject, Signal, Slot, QEvent
15
15
  from PySide6.QtWebChannel import QWebChannel
16
16
  from PySide6.QtWebEngineCore import QWebEngineSettings, QWebEnginePage
17
17
  from PySide6.QtWebEngineWidgets import QWebEngineView
18
18
  from PySide6.QtGui import QAction, QIcon, QKeySequence
19
+ from PySide6.QtWidgets import QMenu
19
20
 
20
21
  from pygpt_net.core.events import RenderEvent
21
22
  from pygpt_net.item.ctx import CtxMeta
22
23
  from pygpt_net.core.text.web_finder import WebFinder
24
+ from pygpt_net.ui.widget.tabs.layout import FocusEventFilter
23
25
  from pygpt_net.utils import trans
26
+
24
27
  import pygpt_net.icons_rc
25
28
 
26
29
 
@@ -38,9 +41,46 @@ class ChatWebOutput(QWebEngineView):
38
41
  self.customContextMenuRequested.connect(self.on_context_menu)
39
42
  self.signals = WebEngineSignals()
40
43
  self.setContextMenuPolicy(Qt.CustomContextMenu)
44
+ self.filter = FocusEventFilter(self, self.on_focus)
45
+ self.installEventFilter(self)
41
46
  self.plain = ""
42
47
  self.html_content = ""
43
48
  self.meta = None
49
+ self.tab = None
50
+
51
+ def eventFilter(self, source, event):
52
+ """
53
+ Focus event filter
54
+
55
+ :param source: source
56
+ :param event: event
57
+ """
58
+ if (event.type() == QEvent.ChildAdded and
59
+ source is self and
60
+ event.child().isWidgetType()):
61
+ self._glwidget = event.child()
62
+ self._glwidget.installEventFilter(self)
63
+ elif (event.type() == event.Type.MouseButtonPress):
64
+ col_idx = self.tab.column_idx
65
+ self.window.controller.ui.tabs.on_column_focus(col_idx)
66
+ return super().eventFilter(source, event)
67
+
68
+ def on_focus(self, widget):
69
+ """
70
+ On widget clicked
71
+
72
+ :param widget: widget
73
+ """
74
+ self.window.controller.ui.tabs.on_column_focus(self.tab.column_idx)
75
+ self.setFocus()
76
+
77
+ def set_tab(self, tab):
78
+ """
79
+ Set tab
80
+
81
+ :param tab: Tab
82
+ """
83
+ self.tab = tab
44
84
 
45
85
  def set_meta(self, meta: CtxMeta):
46
86
  """
@@ -72,12 +112,7 @@ class ChatWebOutput(QWebEngineView):
72
112
 
73
113
  :param position: position
74
114
  """
75
- menu = self.createStandardContextMenu()
76
-
77
- # remove defaults
78
- for action in menu.actions()[::-1]:
79
- menu.removeAction(action)
80
-
115
+ menu = QMenu(self)
81
116
  selected_text = ""
82
117
  is_selection = self.page().hasSelection()
83
118
  if is_selection:
@@ -138,6 +173,10 @@ class ChatWebOutput(QWebEngineView):
138
173
  if self.window.core.config.has("zoom"):
139
174
  self.page().setZoomFactor(self.window.core.config.get("zoom"))
140
175
 
176
+ def on_focus_js(self):
177
+ """Focus JavaScript"""
178
+ self.window.controller.ui.tabs.on_column_focus(self.tab.column_idx)
179
+
141
180
  def get_zoom_value(self) -> float:
142
181
  """
143
182
  Get zoom value
@@ -165,6 +204,7 @@ class ChatWebOutput(QWebEngineView):
165
204
  if success:
166
205
  event = RenderEvent(RenderEvent.ON_PAGE_LOAD, {
167
206
  "meta": self.meta,
207
+ "tab": self.tab,
168
208
  })
169
209
  self.window.dispatch(event)
170
210
 
@@ -318,4 +358,4 @@ class WebEngineSignals(QObject):
318
358
 
319
359
 
320
360
  class WebEnginePageSignals(QObject):
321
- js_message = Signal(int, str, str) # on Javascript message
361
+ js_message = Signal(int, str, str) # on Javascript message
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pygpt-net
3
- Version: 2.4.37
3
+ Version: 2.4.39
4
4
  Summary: Desktop AI Assistant powered by models: OpenAI o1, GPT-4o, GPT-4, GPT-4 Vision, GPT-3.5, DALL-E 3, Llama 3, Mistral, Gemini, Claude, Bielik, and other models supported by Langchain, Llama Index, and Ollama. Features include chatbot, text completion, image generation, vision analysis, speech-to-text, internet access, file handling, command execution and more.
5
5
  Home-page: https://pygpt.net
6
6
  License: MIT
@@ -92,7 +92,7 @@ Description-Content-Type: text/markdown
92
92
 
93
93
  [![pygpt](https://snapcraft.io/pygpt/badge.svg)](https://snapcraft.io/pygpt)
94
94
 
95
- Release: **2.4.37** | build: **2024.11.30** | Python: **>=3.10, <3.12**
95
+ Release: **2.4.39** | build: **2024.12.09** | Python: **>=3.10, <3.12**
96
96
 
97
97
  > Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
98
98
  >
@@ -2770,6 +2770,8 @@ Config -> Settings...
2770
2770
 
2771
2771
  - `Zoom`: Adjusts the zoom in chat window (web render view). `WebEngine / Chromium` render mode only.
2772
2772
 
2773
+ - `Style (chat)`: Chat style (Blocks, or ChatGPT-like, or ChatGPT-like Wide. `WebEngine / Chromium` render mode only.
2774
+
2773
2775
  - `Code syntax highlight`: Syntax highlight theme in code blocks. `WebEngine / Chromium` render mode only.
2774
2776
 
2775
2777
  - `Font Size (chat window)`: Adjusts the font size in the chat window (plain-text) and notepads.
@@ -2792,8 +2794,6 @@ Config -> Settings...
2792
2794
 
2793
2795
  - `Use theme colors in chat window`: Use color theme in chat window, Default: True.
2794
2796
 
2795
- - `Disable markdown formatting in output`: Enables plain-text display in output window, Default: False.
2796
-
2797
2797
  **Files and attachments**
2798
2798
 
2799
2799
  - `Store attachments in the workdir upload directory`: Enable to store a local copy of uploaded attachments for future use. Default: True
@@ -2904,14 +2904,22 @@ Config -> Settings...
2904
2904
 
2905
2905
  **Vision**
2906
2906
 
2907
+ - `Vision: Camera Input Device`: Video capture camera index (index of the camera, default: 0).
2908
+
2907
2909
  - `Vision: Camera capture width (px)`: Video capture resolution (width).
2908
2910
 
2909
2911
  - `Vision: Camera capture height (px)`: Video capture resolution (height).
2910
2912
 
2911
- - `Vision: Camera IDX (number)`: Video capture camera index (number of camera).
2912
-
2913
2913
  - `Vision: Image capture quality`: Video capture image JPEG quality (%).
2914
2914
 
2915
+ **Audio**
2916
+
2917
+ - `Audio Input Device`: Selects the audio device for Microphone input.
2918
+
2919
+ - `Channels`: Input channels, default: 1
2920
+
2921
+ - `Sampling Rate`: Sampling rate, default: 44100
2922
+
2915
2923
  **Indexes (LlamaIndex)**
2916
2924
 
2917
2925
  - `Indexes`: List of created indexes.
@@ -3955,6 +3963,17 @@ may consume additional tokens that are not displayed in the main window.
3955
3963
 
3956
3964
  ## Recent changes:
3957
3965
 
3966
+ **2.4.39 (2024-12-09)**
3967
+
3968
+ - Added "Split Screen" mode (accessible via the switch in the bottom-right corner of the screen), which allows you to work in two windows simultaneously. It is currently experimental (beta). Future updates will include Code Interpreter and Canvas running in tabs.
3969
+
3970
+ - Fixed: Language switch.
3971
+
3972
+ **2.4.38 (2024-12-08)**
3973
+
3974
+ - Added the ability to select a style for chat display between: Blocks, ChatGPT-like, and ChatGPT-like Wide. New option in the menu: Config -> Theme -> Style...
3975
+ - Added configuration options for audio input in Settings -> Audio -> Audio Input Device, Channels, and Sampling rate.
3976
+
3958
3977
  **2.4.37 (2024-11-30)**
3959
3978
 
3960
3979
  - The `Query only` mode in `Uploaded` tab has been renamed to `RAG`.
@@ -1,13 +1,13 @@
1
- CHANGELOG.md,sha256=8wrPaTiIoD-6JD75ThU_LF2hY2ylHmRbm1yDRCwxack,77715
2
- README.md,sha256=HsxtUFLetSFyO5HMmGzabAraLw7wHmhaT43ip0HAcBM,164212
1
+ CHANGELOG.md,sha256=uM9UzRvA0jBRl3B75XDHkWWmKxt8yDqIl4TANWHFr-0,78336
2
+ README.md,sha256=W_vncjhEItqO2qf1X2AI-copfawClu0S87sYQ40bsBM,165039
3
3
  icon.png,sha256=CzcINJaU23a9hNjsDlDNbyuiEvKZ4Wg6DQVYF6SpuRg,13970
4
- pygpt_net/CHANGELOG.txt,sha256=ec7KOMpxOkqFAAI5ANHbw1Ks9g6C9Idg7bUAuLjj_HY,76268
4
+ pygpt_net/CHANGELOG.txt,sha256=Ti6CtY7R6fuT4h8bJ6pwFQbyrk0mmUO4NE3YLc1ESX0,76883
5
5
  pygpt_net/LICENSE,sha256=6Ku72-zJ8wO5VIR87UoJ5P_coCVjPghaFL9ZF2jLp7E,1146
6
- pygpt_net/__init__.py,sha256=DdP6xTl4Q9tdsmKWKGT6wILl4WgJkNVFgplTEcyBrKo,1067
6
+ pygpt_net/__init__.py,sha256=NtAO95I3g0NYEPTBIXc10h4fsD3HUS45_cUc6hS5XRw,1067
7
7
  pygpt_net/app.py,sha256=Q7g-2UlF7FlEOBytbGb_nrjT4zEio2HzfzQd687QuUo,15930
8
8
  pygpt_net/config.py,sha256=Qc1FOBtTf3O6A6-6KoqUGtoJ0u8hXQeowvCVbZFwtik,16405
9
9
  pygpt_net/container.py,sha256=BemiVZPpPNIzfB-ZvnZeeBPFu-AcX2c30OqYFylEjJc,4023
10
- pygpt_net/controller/__init__.py,sha256=q0YzbH5Hm4JyOl8zt1IOHScWNFLCG330jFghj3IUznc,5786
10
+ pygpt_net/controller/__init__.py,sha256=51HRPn7R7cWwrbqYD3Wpcp0io5nP_eWYbCCTM8-v0sg,5914
11
11
  pygpt_net/controller/access/__init__.py,sha256=5DzR7zVmFsOICo9I5mEQcIOgsk2WCNi1amUWxExwUiY,2639
12
12
  pygpt_net/controller/access/control.py,sha256=mYZ4y-TAZ7VSjAzybhFlkhLoeFqDHVtOUqGKb5DDy2A,17332
13
13
  pygpt_net/controller/access/voice.py,sha256=TcRc2N2PetLFHBsfonZKMtkBW7of1X7e51H_HOARV9s,15415
@@ -24,7 +24,7 @@ pygpt_net/controller/assistant/store.py,sha256=IjZIINCPnUeFxVU7DkF6A-ZF85S0YXZjk
24
24
  pygpt_net/controller/assistant/threads.py,sha256=lbBZjnJR6q6glMt_DNYrREutFbExynnCAOheW2R0gv4,20561
25
25
  pygpt_net/controller/attachment.py,sha256=a07CFy8mp5q2uAg9NoTljEJrdOLljM82vjOwqej1Jn4,19083
26
26
  pygpt_net/controller/audio/__init__.py,sha256=0t-vswwnF1NnSbMcZvorXMtk9Q0VLr0heWunum3QCH8,9965
27
- pygpt_net/controller/calendar/__init__.py,sha256=aAYEAex5UNoB7LHdNSKssls2Rdc877ERe9hQ6u5r6t4,4181
27
+ pygpt_net/controller/calendar/__init__.py,sha256=YnppSPDYELmXPz_AtN16yE1gtjkkRA3zlUrvWr9MwPg,4233
28
28
  pygpt_net/controller/calendar/note.py,sha256=B19cNKyD9UODZo7LdyST0U3I3519jsqVgWJp5UDTgVU,10841
29
29
  pygpt_net/controller/camera.py,sha256=t_ZgevP3zrsBe_A4Yx_WO4PfMMfYbsezd9NdQzkMpOQ,16522
30
30
  pygpt_net/controller/chat/__init__.py,sha256=4ZbmjVXOBESTmbajiykz_TiJ5cYptUbUJU7WWp2XSlE,3062
@@ -36,7 +36,7 @@ pygpt_net/controller/chat/files.py,sha256=Q53Sr7-uJwI_L1FKa1raApFvZ4AI0Eoj766iY9
36
36
  pygpt_net/controller/chat/image.py,sha256=cIh_IlqFYAzyNNMHgKDT2MB0DnXf78A_yBEIurvk8ME,7866
37
37
  pygpt_net/controller/chat/input.py,sha256=UhGfOqKSJNJMNh85UEcYhZ7cRg32qPeH-2LgjC3_vwE,9811
38
38
  pygpt_net/controller/chat/output.py,sha256=EvXVTYJANOQhmpJE6wNznI6jzhQ9kcGo3ne0St1ha-0,9112
39
- pygpt_net/controller/chat/render.py,sha256=h7lHc0AL0D3IvnXRxSKgv0Y0B3_ZnJUgt_4oJbamlFU,16240
39
+ pygpt_net/controller/chat/render.py,sha256=Ffng8pNW9kuEZlRVrc7n9aGdh6KWd5TWdFWCPF1jLng,16332
40
40
  pygpt_net/controller/chat/response.py,sha256=uV_Ym9EkgYZNfLGPLfRfHajFhNeqy0alOCvSKIgru9A,9096
41
41
  pygpt_net/controller/chat/stream.py,sha256=x4kTnmJLxqk7oKoqEZoxUlDoVhogYZ3lN9FwrZUEj9I,7462
42
42
  pygpt_net/controller/chat/text.py,sha256=Mn42s5oYgPTLpUp8CjuKyao6Xu35y5H4CP-rSZThJDQ,10126
@@ -51,14 +51,14 @@ pygpt_net/controller/config/field/dictionary.py,sha256=9OnHNTKizBJq7d3af06e4HNm4
51
51
  pygpt_net/controller/config/field/input.py,sha256=DGBYKoEW_U6_VWJJJ4TOWS8BTSzWZ31aiK9J_je0iWA,3556
52
52
  pygpt_net/controller/config/field/slider.py,sha256=6kzpDGdeVqb-3lVrp3fdCu-gxUQb_Wn2moUpkFy5v74,4580
53
53
  pygpt_net/controller/config/field/textarea.py,sha256=_DAvi_UQUHyMs7HYADSJeq3cc6EbInWW_4k20Ufqtwo,2337
54
- pygpt_net/controller/config/placeholder.py,sha256=tem_bFkY2vUAXhWMt2Jg5jgrzuHOM20zlPMveQdp39Y,10631
55
- pygpt_net/controller/ctx/__init__.py,sha256=MinX8CqDStHqI_3pScx7uxJky0ZwsAgw1TjUsJkFhZs,32716
56
- pygpt_net/controller/ctx/common.py,sha256=xOQ9hXJCMSLZLpvP-4lMSMlH53thwulFKfdac5Ci-50,6227
54
+ pygpt_net/controller/config/placeholder.py,sha256=1AxsyyswPfKZmu5rJrkgcLPo0LwUW1RwO5TJAMb8zlw,11427
55
+ pygpt_net/controller/ctx/__init__.py,sha256=S9p2Pm5MoXD1viNbIoBbbiKm3Or1WF6cN5xvE3e2-4Y,32775
56
+ pygpt_net/controller/ctx/common.py,sha256=hd3wYK5z_JCSzCDbUWEMsMgERmbptX0ZWOppN5RTzss,6257
57
57
  pygpt_net/controller/ctx/extra.py,sha256=S4o6ybZPhmaxRz0huaJimwAzk4gKscjAItwppdmIV9Y,8135
58
58
  pygpt_net/controller/ctx/summarizer.py,sha256=Di83qEV4gq5aMxk6d9aYn3SkLw7onN3-WGWJbpXPs2w,2655
59
59
  pygpt_net/controller/debug/__init__.py,sha256=7d-64YsYVTlv7cxxzrnvxP3Z1gQYGDPXe6yGQDUSAnM,7788
60
60
  pygpt_net/controller/dialogs/__init__.py,sha256=sJHyZxkAn9QKTegUqx_xETesN2ecMBkrtf-VsCubr2w,1008
61
- pygpt_net/controller/dialogs/confirm.py,sha256=OJxuqwWzR09DB1kj84vD-qtRepTvMD2DIxVUn-7Ib1M,15562
61
+ pygpt_net/controller/dialogs/confirm.py,sha256=2iVOuHd1dzhIWF67qYa60DrWbii_NvCri0ILlNG2l7I,15565
62
62
  pygpt_net/controller/dialogs/debug.py,sha256=8NwpacwOPlUuGK_BWhLSCw5GwWVLXpAEwyFqmXjaeyE,5956
63
63
  pygpt_net/controller/dialogs/info.py,sha256=79ZSvuI0Kv3V_vMDqHQiLkB3RvVKw3sBpTCb5uFAK0Q,2781
64
64
  pygpt_net/controller/files.py,sha256=KzRgTxEq7pT_SlXJfivEhO9lPXRtBP_fDQ5pFwbt9c4,15687
@@ -71,16 +71,16 @@ pygpt_net/controller/kernel/__init__.py,sha256=3VAI4sxt6APsjw_BOwyB_MWYfmLibshi2
71
71
  pygpt_net/controller/kernel/reply.py,sha256=DEKnT8NtRVG64ec13vphLgfSwoPjNqyy8jt-qi7D9NI,5721
72
72
  pygpt_net/controller/kernel/stack.py,sha256=lGDk9Sp1C5_wJV99gpCDupJs7ZBkcp31eeDbsUUVfWo,3735
73
73
  pygpt_net/controller/lang/__init__.py,sha256=pTSX0il3xLNGHoh4XAOdIUlbC2f9kIBCzthRDDOjyNY,3287
74
- pygpt_net/controller/lang/custom.py,sha256=bxQ5sh9mZ3Oypd-VpQ-6ziQza1jANnxF80qF6Dj8AYk,6145
75
- pygpt_net/controller/lang/mapping.py,sha256=uwH9I2g8G_8Ll7eAKN1TSzUEtLuwZxRLPIOC_ACmFt8,22999
74
+ pygpt_net/controller/lang/custom.py,sha256=sA8fC9CqNNbaJ3cywa4xlZXBTJP9QUWJLa1YliKHPRw,5802
75
+ pygpt_net/controller/lang/mapping.py,sha256=amqe7VMXVDknDiioFsfo2MmjVT8Dq4MA98xu8yOCSXk,22998
76
76
  pygpt_net/controller/lang/plugins.py,sha256=JEiOajXB7BfxPPfBkYl82K1_gKpRVcMEPNPwsNAJ6WU,3879
77
77
  pygpt_net/controller/lang/settings.py,sha256=awPEshWbHlOt11Zyg_uQKlbYjvABXrQ7QMHdpu2L9ZI,2634
78
78
  pygpt_net/controller/launcher.py,sha256=om6aEZx31cSiCuShnDHp5Fs-Lj6Rb_pmbOO5fBweEWU,1899
79
- pygpt_net/controller/layout.py,sha256=-sj1dG-2M6lVUgxSuXdMVuq4yX20hrU_L2ne0HrB_Cw,11422
79
+ pygpt_net/controller/layout.py,sha256=9R30zrZtvedAf1OxQLzxDWt8o2XirUq0bkcFRnpCztg,11433
80
80
  pygpt_net/controller/mode.py,sha256=WrZOXRib7O2JHI7SXyvFc8X1vVz3QY8MBDTmC0_ybfU,7161
81
81
  pygpt_net/controller/model/__init__.py,sha256=pDbxudu0jM1soOK0B9-b0vlnfnQnT3-qzelt3yznO0A,5500
82
82
  pygpt_net/controller/model/editor.py,sha256=H0dmzkqELUnwuaYx6JL7-P8TfkClJfvRbpJwWcdKH2k,12603
83
- pygpt_net/controller/notepad.py,sha256=SuB18pUbN6cewnBTNTn-SS5ELq8Ka7VDhRagvWw3Vd0,8987
83
+ pygpt_net/controller/notepad.py,sha256=QoRAiDU3URre8Bu6-hB1uaotj08eunkVpVRGIxbYs10,9081
84
84
  pygpt_net/controller/painter/__init__.py,sha256=1Ekmr2a3irDkSb2wowiPXhW59rfdZOW1tdbxeubph-k,2747
85
85
  pygpt_net/controller/painter/capture.py,sha256=LjhLqGVUKdaCI026FYJXAKUme9EmUdhwhRrQrW-Bvv8,6307
86
86
  pygpt_net/controller/painter/common.py,sha256=4FtwKdrvXTyq1MWNN6GP8OYO4H7BKi95K4fXPzHEH64,6292
@@ -91,18 +91,18 @@ pygpt_net/controller/presets/__init__.py,sha256=ebI2YpsgSmpidvxzG1YExPwaoLZsWt2C
91
91
  pygpt_net/controller/presets/editor.py,sha256=aGqFi8EexKokt4th9hJXUXav8sAYo_8vfGQ45-TBoOQ,19141
92
92
  pygpt_net/controller/presets/experts.py,sha256=ipC4UBPseWK4OviQtOcrWY4HW9j2A4AButVS_9Z5leY,4998
93
93
  pygpt_net/controller/settings/__init__.py,sha256=UCBfEL_FxQ1OHBzJoDkasTv_-y_1_E-Ynyu5Whzfbxs,7729
94
- pygpt_net/controller/settings/editor.py,sha256=3pQlkAb_G4ifo9_dA8sHwoqbKvUVDJt_y0oaXc4PcTQ,15839
94
+ pygpt_net/controller/settings/editor.py,sha256=1jLpxgvbrx2rlK_9rwl94Ai7BWb8-ftVR5lbo2iwUxk,16106
95
95
  pygpt_net/controller/settings/profile.py,sha256=3Z1IlCiS8mSe2icuIJgQlyFKh4noqANgQDftAYt-mpA,21009
96
96
  pygpt_net/controller/settings/workdir.py,sha256=khvMDJrQoLMVh2rnTyk9cKilBUig5PKdULRVLZJ5X1k,8794
97
- pygpt_net/controller/theme/__init__.py,sha256=xcHX7aMC6Be3og0U5xL4flSGKn1uuZ8HDLpccMY6zRI,6415
98
- pygpt_net/controller/theme/common.py,sha256=aSEhiWcpUQxjB3MuDOtf0DqqzAkWy5JJruxRZ5htaGs,5437
99
- pygpt_net/controller/theme/markdown.py,sha256=_U0oMH7SRQdZb3lPoM-y_xqHpxvXItdTV5amRWmuyT0,5471
100
- pygpt_net/controller/theme/menu.py,sha256=NkEj8nDiqbDitpZctiNYEzb1-t0T8UyXBV51Yn6mhes,4641
97
+ pygpt_net/controller/theme/__init__.py,sha256=F_5GXvecTIucy-dPC87N5DfthsVtjMq2w0yLufYbSs4,7044
98
+ pygpt_net/controller/theme/common.py,sha256=Tck2VYLGSzXyOmdmKh9FIZdK6sBEWDvf3j_umIAZieo,6260
99
+ pygpt_net/controller/theme/markdown.py,sha256=LGNTZgS-4uNcyB6hOq9TlD0QKIEdWlXQNKpa1xj-8Ws,5920
100
+ pygpt_net/controller/theme/menu.py,sha256=dMhkGVBlMEk7ePL3eKmK0JCPIWEp1yKGWEkqoyaUMhk,5671
101
101
  pygpt_net/controller/theme/nodes.py,sha256=4u0EYqT8UglWUoU5iKn-mUSpMpowgYR-b7Bv8gB8Qc0,5436
102
102
  pygpt_net/controller/tools/__init__.py,sha256=YTo1GnUzT8UELniDblBhPlZlKJgCDBultb2Yiwt3gDA,1569
103
103
  pygpt_net/controller/ui/__init__.py,sha256=MZtwAznDarIUeARKJ2aQKrC10RQTXP1hEuyk10vQQ5w,5944
104
104
  pygpt_net/controller/ui/mode.py,sha256=UOyUXi0vkbQFjq3l8KI0WnrenQ1MUTwCDmBwvBFpu7k,10324
105
- pygpt_net/controller/ui/tabs.py,sha256=Q0eNDdusNkdchlacfFqVw3ZL2l9ym79DuREAchMuP24,11028
105
+ pygpt_net/controller/ui/tabs.py,sha256=MMMJcRqRYzzWCPWiMUp-jxdSGIEII5_iH4ZYVNZ2BwY,15570
106
106
  pygpt_net/controller/ui/vision.py,sha256=KrP8wFuuz-gsO9iwbLDnzvC5iqWVlWjFarQ27HkHdEg,2303
107
107
  pygpt_net/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
108
  pygpt_net/core/access/__init__.py,sha256=rFKp9xMsuJHS_wxiMEMMHVRd5lXdkPj7LuObAIdQFBY,942
@@ -122,9 +122,9 @@ pygpt_net/core/assistants/__init__.py,sha256=nnKKqcP5Xtx9daGUHAX8FT2JwG3r5syc6mS
122
122
  pygpt_net/core/assistants/files.py,sha256=cg32PsmdM3rB6eNkKo8CP9aSKNqoml1YKniGl9rXSlM,9796
123
123
  pygpt_net/core/assistants/store.py,sha256=vzMN2dOKIcH7NCGA6UzZkXGal1jAioOzNTpAHzObgOo,7990
124
124
  pygpt_net/core/attachments/__init__.py,sha256=lKH31SMkJdyQlqdYW07VhDnggpV6jssc6Lk4SIUlzEc,12223
125
- pygpt_net/core/attachments/context.py,sha256=Su52wla5GZPBzM3e5_uhly38pKqSvr7sv1o5e9tRs_c,23280
125
+ pygpt_net/core/attachments/context.py,sha256=v_mi-JvZM5-VPBiUphXrgGOMEVgLcOeM9KFEYAaWGtM,23348
126
126
  pygpt_net/core/attachments/worker.py,sha256=_aUCyi5-Mbz0IGfgY6QKBZ6MFz8aKRDfKasbBVXg7kU,1341
127
- pygpt_net/core/audio/__init__.py,sha256=gysJ0SEFFwhq3Jz268JxJTdpZ7-8qqgID60BWQjtIig,2708
127
+ pygpt_net/core/audio/__init__.py,sha256=fJ7-WKn6GhtgDKHW1z-bIZBhuKHJBcB80WROU0xjFaQ,4522
128
128
  pygpt_net/core/audio/context.py,sha256=GtUK2DIUBSJwtUVPx3Vv9oZCx_wHsilHYYdvUfHP4G4,1044
129
129
  pygpt_net/core/bridge/__init__.py,sha256=4XRmueSSshAqstjgDp3jFTSCwSTaWlzaU4d-gBK46x8,9292
130
130
  pygpt_net/core/bridge/context.py,sha256=u_1_sSB4YO6OP1zR3c15OT_7kVVlxtuAO1OgCn7BFY4,4301
@@ -135,11 +135,11 @@ pygpt_net/core/chain/__init__.py,sha256=8hMi_gWmB-I2k1AaADEtTfOAzeVxmBD8YhUJFIpj
135
135
  pygpt_net/core/chain/chat.py,sha256=GOX2a7S34ChXzJDi204oHQ6rjqMRYJLFZS85u_JqrWY,5087
136
136
  pygpt_net/core/chain/completion.py,sha256=DTlplBVbxLoWVpQ3bf16X5UAokR4kwuinoCbvWjYwf0,5546
137
137
  pygpt_net/core/command.py,sha256=HqEdWR4DdYozhvqHIORLMpIy6RuyxmTA8MPfjDHTRtY,21256
138
- pygpt_net/core/ctx/__init__.py,sha256=px8YWRisjFrNvz2IQrKr28sXXuUtbztvvuwtZzm51r0,39142
138
+ pygpt_net/core/ctx/__init__.py,sha256=Xlz0T3FBYXN26xuwH_6fRB9RGY4bXKRAyHpdf8jYHMs,39438
139
139
  pygpt_net/core/ctx/bag.py,sha256=dNU9e6QjDE2-TnhQr88B38wj2FOjm1POu8Tc5qsWhe4,921
140
- pygpt_net/core/ctx/container.py,sha256=srOYLgiINpi9uvqE4hP0peIXYSz-834qiTvUQxidbCg,3915
140
+ pygpt_net/core/ctx/container.py,sha256=UntBkj5X4Rf8_Z3mQX54iLHF-VyRA1g9-zgdFoCz-y8,4103
141
141
  pygpt_net/core/ctx/idx.py,sha256=JYE8H8ufDbIKpmteErVPSkC43YQSilqf0qWaXva-_Pc,7709
142
- pygpt_net/core/ctx/output.py,sha256=Z9LyfvNLl4-D3_syXZ_ChZvLt_D9bknvFJoOsAfSFz0,6490
142
+ pygpt_net/core/ctx/output.py,sha256=1K42tpCLVkFG7CvvDIiR1rBT42BZ8dlg-irwCLYmh-8,7173
143
143
  pygpt_net/core/ctx/reply.py,sha256=6fcvgxUOO7stl88lM8x-bs62Z6s5ovc_GbrQ01xga80,1793
144
144
  pygpt_net/core/db/__init__.py,sha256=IjVlAp2km1BypmgknG0vIbqAHpdJrjSimKoB0WlABBE,16246
145
145
  pygpt_net/core/db/viewer.py,sha256=9SGnhwyDj6hvDDpGoXnzDslvoavN-2Ckr8uflJCHzwk,8888
@@ -156,7 +156,7 @@ pygpt_net/core/debug/kernel.py,sha256=kFw3dp2Azl_g6omMoxlieV8E8pn5JqtI2PTHBmJ0fA
156
156
  pygpt_net/core/debug/models.py,sha256=tzpt-KMt3dwwCze5igSQb_BaVUUXVYfEYLbsAZcj0b0,1896
157
157
  pygpt_net/core/debug/plugins.py,sha256=LchOpAn79J8qQH5eVvlBFz5h5Y8cus-XqGSmU9bGd98,1258
158
158
  pygpt_net/core/debug/presets.py,sha256=v-2NiaNA3RgxMQQgfq7qdMB7LjmyV8FrPmQpCji4Dec,2399
159
- pygpt_net/core/debug/tabs.py,sha256=eLleMTaqSm_q9czoNOsLmHPJ_OOJ7xIl_8zWmAQHCzo,2113
159
+ pygpt_net/core/debug/tabs.py,sha256=fddUpvo79SiqC5MUoKAjvcHUvLxK_3b6h3SHiAU2VXQ,2237
160
160
  pygpt_net/core/debug/ui.py,sha256=ObMa8_iA2UaPoHS_d6y9Ztbd6VpGYPJw45vcGnUmao4,2666
161
161
  pygpt_net/core/dispatcher.py,sha256=kQq2FsZH2pRXTZj6kKpWPC414ZwATUfe5JIuUFMRarY,5214
162
162
  pygpt_net/core/docker/__init__.py,sha256=kKhyJUxszpA8kOX3brfaAcJXzAhyV0ByzCSLwXHxK68,12888
@@ -169,12 +169,12 @@ pygpt_net/core/events/event.py,sha256=avGLJ3bkGyQWvQrcRyCc_iRa-e10CkJH5-SJSQ7LqK
169
169
  pygpt_net/core/events/kernel.py,sha256=1s8gRvGT3GNyXkBQ6clxuWUrPNmIWY2gRCfbcOMbpqY,1870
170
170
  pygpt_net/core/events/render.py,sha256=xtNTyud6ywtpUGdIrbaJeHhbqZuDjd4It3j0KlPmHks,2118
171
171
  pygpt_net/core/experts/__init__.py,sha256=ub_Z-5xEvW9o-ufnURtYemo60NTvHpjd56X5H9Ca0RY,17482
172
- pygpt_net/core/filesystem/__init__.py,sha256=8o7L7Jq3b-PHuveQcE3GZeS7GV5mbckzGKHoqE97s74,15407
172
+ pygpt_net/core/filesystem/__init__.py,sha256=jfOjBJOPZX-ydBLuQcSh1IE5_SwOgUPXAKZ-3qAFK7U,15130
173
173
  pygpt_net/core/filesystem/actions.py,sha256=7WxpxDc5g9e98FzaGxTJX_JhjmP1b7jvXZhezI8mw98,4074
174
174
  pygpt_net/core/filesystem/editor.py,sha256=-mPZqe5dAdH4cCTzKGGn39AmaXPeRPBbAfE_xJ658yw,4151
175
175
  pygpt_net/core/filesystem/packer.py,sha256=9CmQgq-lja2QGtc0JFqh197mLLViJ7TDPc8fVWTok1w,2568
176
176
  pygpt_net/core/filesystem/types.py,sha256=gnV1CMRE0SwQDapNYEoayMs8NyUync121RCdnBHkt1c,3385
177
- pygpt_net/core/filesystem/url.py,sha256=9IHrt_lgULsz56Xxy6me4v2lun26q5D4yoPESLgOO_A,3006
177
+ pygpt_net/core/filesystem/url.py,sha256=cXctpPHBY1-fwn7vFqfZi3CeP73n2nFXF-ZnePiRk7U,3236
178
178
  pygpt_net/core/history.py,sha256=LnSyB3nuXZxXeaiNdjg4Q4yWhJM5hA2QN5dy_AY9Pxo,3092
179
179
  pygpt_net/core/idx/__init__.py,sha256=7LlN_CmhOJVLuZFp-XihNtoQJXFxlA2ygYAcaIAfU8c,17238
180
180
  pygpt_net/core/idx/chat.py,sha256=KPCYIB1CcvxUItNSNBBhsBqRETs-he_7kN_np8izX5M,20761
@@ -203,28 +203,28 @@ pygpt_net/core/prompt/__init__.py,sha256=Fjg0TzIdc8VmfZaXGQeDRfJA_pu1Pkz2nQL6vpn
203
203
  pygpt_net/core/prompt/custom.py,sha256=HvtZrwLab_fXuSjgMG5zFlGqygt3FTV-k47EE2dcNBM,7795
204
204
  pygpt_net/core/prompt/template.py,sha256=0IihG6zif4Z28EGz8CnieDUsLT2I8pLny29Oc4msJ8Y,3177
205
205
  pygpt_net/core/render/__init__.py,sha256=19xPDIYeoDn3Sf1tpcvXtxLaaKkjs0nDQ7-4GqTfeRk,489
206
- pygpt_net/core/render/base.py,sha256=GFngbO-TbsWJ1_obqPE0yRqiUq53z-MNU6LzlBWD2fw,7550
206
+ pygpt_net/core/render/base.py,sha256=FKUuVEmkPfSMmcrnLoGkLJMtYD_fRa1T1GDxwxd_UXY,7786
207
207
  pygpt_net/core/render/markdown/__init__.py,sha256=19xPDIYeoDn3Sf1tpcvXtxLaaKkjs0nDQ7-4GqTfeRk,489
208
208
  pygpt_net/core/render/markdown/body.py,sha256=CUO246hZHkE9_h8ml_oIKtybgyaYYMwI5Z1L01Z-_1c,6918
209
209
  pygpt_net/core/render/markdown/helpers.py,sha256=a7LSL_jKVfxDU5erqU8tc5shfmhE-afIcb_GUH4Io6Y,2683
210
210
  pygpt_net/core/render/markdown/parser.py,sha256=4lCC_pCWmi-SUli4nnDH-FZEbBi0SnVl0FoL0ZBuNHo,5450
211
211
  pygpt_net/core/render/markdown/pid.py,sha256=bRAOdL8bS-LSfOKReWK3nu-BUZ2qfNchrAsrkxRKlHU,851
212
- pygpt_net/core/render/markdown/renderer.py,sha256=ybUpnBmEppYHtNw4Qz15gkenKdntVev55NAxEBZ8-j4,18114
212
+ pygpt_net/core/render/markdown/renderer.py,sha256=pGDNv5CPAalsbx-e7W9jvAKauB8pQrORYMbmnf4uEM0,18209
213
213
  pygpt_net/core/render/plain/__init__.py,sha256=19xPDIYeoDn3Sf1tpcvXtxLaaKkjs0nDQ7-4GqTfeRk,489
214
214
  pygpt_net/core/render/plain/body.py,sha256=-u0Lo1U2ID6NTFysKe6L8vE7k3jCvIiI78cqSlyPYns,3957
215
215
  pygpt_net/core/render/plain/helpers.py,sha256=qf1w6EXa6cCFcMkipOA8MzxIRFIYNVv3uXZ3MT2XwfI,1628
216
216
  pygpt_net/core/render/plain/pid.py,sha256=yngcS0o1lBQ2RlRzWrs5JwqT_ThamvnWftp3cXcyiG8,770
217
- pygpt_net/core/render/plain/renderer.py,sha256=W5qZinG-5W_Ady-DNEkYSyTQXXdpfGzvoUYYV-VEM30,14393
217
+ pygpt_net/core/render/plain/renderer.py,sha256=bum1zYBoTc3s8bbm-zdXkt2Q99HckICGTOQfct4ORUE,14401
218
218
  pygpt_net/core/render/web/__init__.py,sha256=istp5dsn6EkLEP7lOBeDb8RjodUcWZqjcEvTroaTT-w,489
219
- pygpt_net/core/render/web/body.py,sha256=sIJe7MPPvmKpQ9vgJno9wBUp_Qj4O2Oz_7PxE9JGUz8,28661
219
+ pygpt_net/core/render/web/body.py,sha256=h8qGn368gkVySGvlWXbPZcDkUGgFRKnb-aOSzNmwY4Q,29093
220
220
  pygpt_net/core/render/web/helpers.py,sha256=CcKB710SiKe3xGAB4jq_1XtLxQdD-XiVIlwqiqX7pdc,3062
221
221
  pygpt_net/core/render/web/parser.py,sha256=upaTzDhKyGUVEU91JfeSt-luKfx9sS1uCddi_NjStt0,9998
222
222
  pygpt_net/core/render/web/pid.py,sha256=ZyYmzB01adMqY9-1Zi0QhGgrzyg-E9xC_VxqjNvTHWk,1331
223
- pygpt_net/core/render/web/renderer.py,sha256=MJfvCzT1gXn2geaOwH3eLbpQKbywuokatHkiQwHcOpg,34620
223
+ pygpt_net/core/render/web/renderer.py,sha256=82NVQha90kpYslNHIBfNPZX_FQejvEJZaxbG6P5bdT0,34703
224
224
  pygpt_net/core/render/web/syntax_highlight.py,sha256=QSLGF5cJL_Xeqej7_TYwY_5C2w9enXV_cMEuaJ3C43U,2005
225
225
  pygpt_net/core/settings.py,sha256=-dy14W0zUnYikGz-ymJxmzOhtNxkvlyJ7WhOSPdfPdE,7635
226
- pygpt_net/core/tabs/__init__.py,sha256=FkAOE28Z4nDi9je5mDu0aMMKJCnnwcJTeEAXe3HhTPg,19298
227
- pygpt_net/core/tabs/tab.py,sha256=7jHeAZdMDOoRPbuJ-xC_r0v3lSHOEf9FLozwYXwttBQ,1649
226
+ pygpt_net/core/tabs/__init__.py,sha256=dARlEJGc8VRK0UZ8trMd51oOX79tAquKBRCvVIn_Gz0,22591
227
+ pygpt_net/core/tabs/tab.py,sha256=y1PONEqfzjZy2nrZs_JxRaPYLv1Ct42_EJ-PxXnPV9Q,1887
228
228
  pygpt_net/core/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
229
  pygpt_net/core/text/finder.py,sha256=2p8lwNgJ28skGbIKAErP7cDOdhPbemrJzqikmfgVBcc,6566
230
230
  pygpt_net/core/text/utils.py,sha256=Jq38mu0-yenI8iZwYaV2I6P9BYWZiK5kifphah4k4Vk,2292
@@ -242,9 +242,9 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
242
242
  pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
243
243
  pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
244
244
  pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
245
- pygpt_net/data/config/config.json,sha256=Lf5n4SHVnsK-24YzkXXIfg4GGQIVuSco3hAGZv10SBc,19307
246
- pygpt_net/data/config/models.json,sha256=NStKUNxPZuf9cwTTX7k5J5yIpqSjgLe8QbuEIOE7aMU,48872
247
- pygpt_net/data/config/modes.json,sha256=KkkftMky4siMRSJ13T8RC0zpbBcI8I6ZOZyAOlASouI,1923
245
+ pygpt_net/data/config/config.json,sha256=-bp3lwXOnBbuc6bf0owAEWzrfT2q2YTn9ZCPvXzMPgg,19511
246
+ pygpt_net/data/config/models.json,sha256=PXb3nhSXE21YtPQ0r3c99MWpp-ctbxGZ4AQPbNzEmjk,48872
247
+ pygpt_net/data/config/modes.json,sha256=56qJVJefbaDaJGTYsN5UQlNK7bOF4m_gOxkSA5CFRyo,1923
248
248
  pygpt_net/data/config/presets/agent_openai.json,sha256=vMTR-soRBiEZrpJJHuFLWyx8a3Ez_BqtqjyXgxCAM_Q,733
249
249
  pygpt_net/data/config/presets/agent_openai_assistant.json,sha256=awJw9lNTGpKML6SJUShVn7lv8AXh0oic7wBeyoN7AYs,798
250
250
  pygpt_net/data/config/presets/agent_planner.json,sha256=a6Rv58Bnm2STNWB0Rw_dGhnsz6Lb3J8_GwsUVZaTIXc,742
@@ -264,18 +264,24 @@ pygpt_net/data/config/presets/current.vision.json,sha256=x1ll5B3ROSKYQA6l27PRGXU
264
264
  pygpt_net/data/config/presets/dalle_white_cat.json,sha256=esqUb43cqY8dAo7B5u99tRC0MBV5lmlrVLnJhTSkL8w,552
265
265
  pygpt_net/data/config/presets/joke_agent.json,sha256=R6n9P7KRb0s-vZWZE7kHdlOfXAx1yYrPmUw8uLyw8OE,474
266
266
  pygpt_net/data/config/presets/joke_expert.json,sha256=aFBFCY97Uba71rRq0MSeakXaOj8yuaUqekQ842YHv64,683
267
- pygpt_net/data/config/settings.json,sha256=n6Dd155V09jP7ITs6Vh1l5r946uZ6eOfDx39wFh8Doo,45065
268
- pygpt_net/data/config/settings_section.json,sha256=8YmYWVdTWC_HorqlRa-lZO55B0lhq0v9qZfBHt77pqk,870
267
+ pygpt_net/data/config/settings.json,sha256=wCDFz7GJrvMU1Ex3LEsMOhYeOEc_NJi1QyhyAv0xZCM,46356
268
+ pygpt_net/data/config/settings_section.json,sha256=ZNXZRobAL9-Cbe7chIJZXVkUFbUvqKDxE34g3ZLS0t4,934
269
269
  pygpt_net/data/css/fix_windows.css,sha256=Mks14Vg25ncbMqZJfAMStrhvZmgHF6kU75ohTWRZeI8,664
270
270
  pygpt_net/data/css/markdown.css,sha256=yaoJPogZZ_ghbqP8vTXTycwVyD61Ik5_033NpzuUzC0,1122
271
271
  pygpt_net/data/css/markdown.dark.css,sha256=ixAwuT69QLesZttKhO4RAy-QukplZwwfXCZsWLN9TP4,730
272
272
  pygpt_net/data/css/markdown.light.css,sha256=UZdv0jtuFgJ_4bYWsDaDQ4X4AP9tVNLUHBAckC_oD8k,833
273
273
  pygpt_net/data/css/style.css,sha256=JgE5Y6ULYtNDVF49jhb_PfGPJVxCFj5DNMiobPopX64,400
274
274
  pygpt_net/data/css/style.dark.css,sha256=5GqBiCiTdofU3AfgbuQEezFPE3iSf_mx3dkU4kAtygQ,729
275
- pygpt_net/data/css/style.light.css,sha256=U6sZvBBk4Gdnh9KPiGfQmTGsx_BJlzxpFvQXVXHag_Y,1726
276
- pygpt_net/data/css/web.css,sha256=vqfmbHGCMetgPbqLsICMgV5lj0f1Sy_qw_IHPXGnsLA,5805
277
- pygpt_net/data/css/web.dark.css,sha256=x0b3DYWv0-XeUgCSKajIpkAXAEEg-YR7GIg94pwXO7A,1319
278
- pygpt_net/data/css/web.light.css,sha256=9yN6feInDe8X6rWgJfz61mwvbwyJ_u99nUWz0KurWo4,1249
275
+ pygpt_net/data/css/style.light.css,sha256=szc-rgR_UoLOTegJerDoL2Rx_l-E6BOYSe956snPE3k,1741
276
+ pygpt_net/data/css/web-blocks.css,sha256=bhQ6nvgZilx_0aAn2aVBbnfyIi4Ts8sdk5lR2FRAulI,5842
277
+ pygpt_net/data/css/web-blocks.dark.css,sha256=x0b3DYWv0-XeUgCSKajIpkAXAEEg-YR7GIg94pwXO7A,1319
278
+ pygpt_net/data/css/web-blocks.light.css,sha256=9yN6feInDe8X6rWgJfz61mwvbwyJ_u99nUWz0KurWo4,1249
279
+ pygpt_net/data/css/web-chatgpt.css,sha256=I5tW-ubnoP8o6yU1EaQGFYEtV0gTq67I37v3jbqlonE,6357
280
+ pygpt_net/data/css/web-chatgpt.dark.css,sha256=fFYWpV4IraSto-GyaNe8sDjmtwEoWOiQYBLmQ5G5TOM,1106
281
+ pygpt_net/data/css/web-chatgpt.light.css,sha256=XoOyh-VP1gIpCqeBpSOi6jB6zG_7BMfvwo0-t67XmP8,1196
282
+ pygpt_net/data/css/web-chatgpt_wide.css,sha256=UxGXGn7YfMnEk2fnh_e016pIW6US3DBw-ZQ_2Yk_-xI,6356
283
+ pygpt_net/data/css/web-chatgpt_wide.dark.css,sha256=fFYWpV4IraSto-GyaNe8sDjmtwEoWOiQYBLmQ5G5TOM,1106
284
+ pygpt_net/data/css/web-chatgpt_wide.light.css,sha256=XoOyh-VP1gIpCqeBpSOi6jB6zG_7BMfvwo0-t67XmP8,1196
279
285
  pygpt_net/data/fonts/Lato/Lato-Black.ttf,sha256=iUTaWoYezgAYX6Fz6mUyTn1Hl6qGPG-g8D4GaAWXS2w,69484
280
286
  pygpt_net/data/fonts/Lato/Lato-BlackItalic.ttf,sha256=G7asNGubFS-gk9VAMO_NBz4o5R7AB8-3bCAflv103mc,71948
281
287
  pygpt_net/data/fonts/Lato/Lato-Bold.ttf,sha256=e3IFmfiu07rFuVMf7PZ1DI-n5ZO3J3ObwGkvzA9Vtng,73316
@@ -1473,14 +1479,14 @@ pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff,sha256=4U_tArGrp86fW
1473
1479
  pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff2,sha256=cdUX1ngneHz6vfGGkUzDNY7aU543kxlB8rL9SiH2jAs,13568
1474
1480
  pygpt_net/data/js/katex/katex.min.css,sha256=lVaKnUaQNG4pI71WHffQZVALLQF4LMZEk4nOia8U9ow,23532
1475
1481
  pygpt_net/data/js/katex/katex.min.js,sha256=KLASOtKS2x8pUxWVzCDmlWJ4jhuLb0vtrgakbD6gDDo,276757
1476
- pygpt_net/data/locale/locale.de.ini,sha256=eeWP_7Qvc_lS8X8Vdgh3H5ddu7BNoh8MyitTOIklw48,62056
1477
- pygpt_net/data/locale/locale.en.ini,sha256=W1jQHzCmnMZkrf-HuU2JPmcPELY-HfHGtPM9eC6Z4aY,74305
1478
- pygpt_net/data/locale/locale.es.ini,sha256=ot_DzGtTYzh1izQlib5dWWui5vZZOKtzIC_vfvmq40w,62222
1479
- pygpt_net/data/locale/locale.fr.ini,sha256=mQ4kXdmMp_QoJTuw7Uuyciqb2ZexU4p_RTi5YsD0HSI,64244
1480
- pygpt_net/data/locale/locale.it.ini,sha256=CpWRU4tTcukmd1y4Y0nNaHg3bj7DojsZKreloVcPEyA,61086
1481
- pygpt_net/data/locale/locale.pl.ini,sha256=Ya-xv62IuXbRG90W5MDbQCmd6qqFA9C2T_fORXtr16Y,61152
1482
- pygpt_net/data/locale/locale.uk.ini,sha256=0g6tqRpmGypCZp7yFocN0FKGocA83k8kfIoVt4vec3Y,85376
1483
- pygpt_net/data/locale/locale.zh.ini,sha256=d74BHnTdRYgzTi_iiLmQlxLKY1tugMx1MoDfHpBC0yI,63003
1482
+ pygpt_net/data/locale/locale.de.ini,sha256=lzqRHqTPXG1cVvNZU3XJraXuHglOMlclt7zDendH608,62644
1483
+ pygpt_net/data/locale/locale.en.ini,sha256=ySL3FO-PTVygplZH7PMGuPnDIh1qba-7qGEskUG0DOo,74959
1484
+ pygpt_net/data/locale/locale.es.ini,sha256=CHdRxw_0z6JjOtpAySj2AhxxEJlJSHbFDobGf1Wj5r4,62866
1485
+ pygpt_net/data/locale/locale.fr.ini,sha256=O7492urg9KHohpotxmtkL2_VXkTnpnX1S6ttLNPChqU,64900
1486
+ pygpt_net/data/locale/locale.it.ini,sha256=V92F2qGEyMSQ8R1ezIs1Yj_Bwm7ux5AmUswIdGdJAuE,61731
1487
+ pygpt_net/data/locale/locale.pl.ini,sha256=uWpX1bti87y9a3uaSp2clY2hLxgjOS9SVZtMXfkVmk0,61789
1488
+ pygpt_net/data/locale/locale.uk.ini,sha256=ra3VFgPh9gVsuBaFgi4Tf-pBEYA0Jod4nKWFp4b-X-g,86219
1489
+ pygpt_net/data/locale/locale.zh.ini,sha256=X8n9F2VZE3_NWAkuRZ4K3wPKmREdEWCuu8vbzHDK9Io,63538
1484
1490
  pygpt_net/data/locale/plugin.agent.de.ini,sha256=BY28KpfFvgfVYJzcw2o5ScWnR4uuErIYGyc3NVHlmTw,1714
1485
1491
  pygpt_net/data/locale/plugin.agent.en.ini,sha256=88LkZUpilbV9l4QDbMyIdq_K9sbWt-CQPpavEttPjJU,1489
1486
1492
  pygpt_net/data/locale/plugin.agent.es.ini,sha256=bqaJQne8HPKFVtZ8Ukzo1TSqVW41yhYbGUqW3j2x1p8,1680
@@ -1687,7 +1693,7 @@ pygpt_net/plugin/agent/__init__.py,sha256=dRbas7WJtMdzuEquxTZXKPhYxlEVhKtR21XUSn
1687
1693
  pygpt_net/plugin/agent/config.py,sha256=V4M0boutzxFVWTQxM8UA7HgKUR4v_Y-5dX_XfeLzzL8,9792
1688
1694
  pygpt_net/plugin/audio_input/__init__.py,sha256=vGwDtsPkwCEwiz2ePnzW48Tuhr0VHEc7kQua11VE7tI,15714
1689
1695
  pygpt_net/plugin/audio_input/config.py,sha256=x57IVxBapJp9rwos327T6U0jTFSPeRJ6BorqfYxJ4u0,9197
1690
- pygpt_net/plugin/audio_input/simple.py,sha256=eQG8MssyjAC78btCz0IKHCRLK8be7Nvs0_x2QeH9KCM,5468
1696
+ pygpt_net/plugin/audio_input/simple.py,sha256=ea89IpCk_f-byqxdjDPCb3vvZH5nirO3ceP7-U54_Sc,6561
1691
1697
  pygpt_net/plugin/audio_input/worker.py,sha256=kG7r08ot1h0Jyw_UQ_sFN1rOKOkOC-ByLbCp-oZZBr4,11828
1692
1698
  pygpt_net/plugin/audio_output/__init__.py,sha256=Czk-2wZoBDJLkN_xeUK4zg_9KrzlN9d9UuB7HYDALss,7548
1693
1699
  pygpt_net/plugin/audio_output/config.py,sha256=IA2K-9fQMZSwYGyi30Uh5qAlYwuqwaHo3dtDJ13vQdo,1208
@@ -1802,12 +1808,12 @@ pygpt_net/provider/core/calendar/db_sqlite/storage.py,sha256=aedWMmJr-uw7waUGzoj
1802
1808
  pygpt_net/provider/core/config/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
1803
1809
  pygpt_net/provider/core/config/base.py,sha256=nLMsTIe4sSaq-NGl7YLruBAR-DjRvq0aTR3OOvA9mIc,1235
1804
1810
  pygpt_net/provider/core/config/json_file.py,sha256=a4bt7RofzFrq01ppcajWzJEg4SaracFbLyDVl5EI0b8,5017
1805
- pygpt_net/provider/core/config/patch.py,sha256=YPwhhIwuC1uCCsqJj7ASjL21gMmKkJoS9jykCkBgti4,91504
1811
+ pygpt_net/provider/core/config/patch.py,sha256=3WgIl6BmtZTmiilJay1_aJM7oI8X7c9VA7EhWE9IaWY,92427
1806
1812
  pygpt_net/provider/core/ctx/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
1807
- pygpt_net/provider/core/ctx/base.py,sha256=uIOqarMQUpvkPDrwGdnpD5jJQospePhEwZaS_l0BJbo,2631
1808
- pygpt_net/provider/core/ctx/db_sqlite/__init__.py,sha256=klO4ocC6sGRYLBtTklernzZTNBBJryo3c4b0SRmgAi4,10911
1813
+ pygpt_net/provider/core/ctx/base.py,sha256=hF8U6wvJXZlgiRbW7tIUorn3cYAhkvn9W2iOy38Q19Q,2695
1814
+ pygpt_net/provider/core/ctx/db_sqlite/__init__.py,sha256=xJred2XHBhfsWdZTgyX3vP0p8GRADtB6Bty8k7RuJ9E,11118
1809
1815
  pygpt_net/provider/core/ctx/db_sqlite/patch.py,sha256=rQO893JsyYxXdL2sFSPvcsF1KgXv13VonpY-tU284go,3101
1810
- pygpt_net/provider/core/ctx/db_sqlite/storage.py,sha256=rC7HusTzkSkeRe0XzBf06DHADD8YFO8hsF7max5FZqc,41239
1816
+ pygpt_net/provider/core/ctx/db_sqlite/storage.py,sha256=9KuqixiuuBF527Z122mdVQgwqIDPEK47yn_IeSaG_o0,41883
1811
1817
  pygpt_net/provider/core/ctx/db_sqlite/utils.py,sha256=UbuGaHQ3-4uq6jNna9Q-9GydlrcmBY3_eZ_dCmGVVmg,8277
1812
1818
  pygpt_net/provider/core/ctx/json_file.py,sha256=g1U4vOxfyA2jydwYvPQ9HpUIQihyBK2K4K6SQ75jEEs,11665
1813
1819
  pygpt_net/provider/core/history/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
@@ -2016,9 +2022,9 @@ pygpt_net/ui/layout/chat/attachments_ctx.py,sha256=qyidK2bbTufWX-crtEhat2i3-Juqq
2016
2022
  pygpt_net/ui/layout/chat/attachments_uploaded.py,sha256=8xKa9xwU56ESSfBN5ybwT_BUZEwgij-tjHbhhzNuV2U,5462
2017
2023
  pygpt_net/ui/layout/chat/calendar.py,sha256=Vc6ztv4S_gO2ceqO-SekXyqI4V7cbf-JN_sZ5dwbl34,5812
2018
2024
  pygpt_net/ui/layout/chat/explorer.py,sha256=VGWS6JhXSJV2ry1pIY1Ijme6DvYHfsnKwfrieVXHc3U,1280
2019
- pygpt_net/ui/layout/chat/input.py,sha256=ows_P_wdDZHn66nmM-2Y13kIgZkdLD9-hUYFWs27xhg,11617
2025
+ pygpt_net/ui/layout/chat/input.py,sha256=6mvoyAmJvZa2cegyQXz5Wld_oqiuCOq0rabsITax-LE,11144
2020
2026
  pygpt_net/ui/layout/chat/markdown.py,sha256=hjYY8Da1z0IZZD086_csMcDY1wwagpuQTDZ-XfgeNgs,18656
2021
- pygpt_net/ui/layout/chat/output.py,sha256=RdFrRCPzwkXIidsQ7lpi5VKZ_0o80yxkmMtNhY2GT2Q,10539
2027
+ pygpt_net/ui/layout/chat/output.py,sha256=X2BpukeHzwjrWS0lloOEc-qBc5m4pm_UcbHdXZ-Jpv4,9977
2022
2028
  pygpt_net/ui/layout/chat/painter.py,sha256=2yGU9GET5PpcGteGyWcHTtodKqAL7rxrqxhQ10vhodM,5471
2023
2029
  pygpt_net/ui/layout/ctx/__init__.py,sha256=txpvk6XMqZjBckstlWhn4laQnHBVpcD_7kshER_ymf4,1850
2024
2030
  pygpt_net/ui/layout/ctx/ctx_list.py,sha256=IeCqU0SOhNKmYoLuvapBjW3odrFGpGE9Hl0D-1yrGOc,8949
@@ -2029,7 +2035,7 @@ pygpt_net/ui/layout/toolbox/__init__.py,sha256=zEZr_XDz9QbPKL0u0KMSt1b8yOG-ao1gm
2029
2035
  pygpt_net/ui/layout/toolbox/agent.py,sha256=Hf7s6ei8l2iwInQHZpBWlOw99RiC-sK7oQIABVuF7Tg,3146
2030
2036
  pygpt_net/ui/layout/toolbox/agent_llama.py,sha256=lmirw0BjUeO1PMJFZfTibd7f0kwaNXAawuM1jTwblEc,2978
2031
2037
  pygpt_net/ui/layout/toolbox/assistants.py,sha256=GAZ5lKTXlK7kIUPRtpzfVCVVi9JMArJ4QzWTsJMaOYM,4605
2032
- pygpt_net/ui/layout/toolbox/footer.py,sha256=-BXIgb0Q86XyLNDjEsez0PaIm8v7ja-d362nHDfVOlQ,4686
2038
+ pygpt_net/ui/layout/toolbox/footer.py,sha256=S9NYwvfzVBglPNOVqJU8xQC-_HePRuB9N4AN1XZwdhI,5503
2033
2039
  pygpt_net/ui/layout/toolbox/image.py,sha256=QiMDZmsLklIEVDibq1FRraD30NJll_bn4HVpdJ1KBic,2426
2034
2040
  pygpt_net/ui/layout/toolbox/indexes.py,sha256=fPRuMS96HX3VJdvbGVg0Z7N6P0LTbrYM0BYjXZOUUic,8502
2035
2041
  pygpt_net/ui/layout/toolbox/mode.py,sha256=EoXDzzhh3XRE5i42sWmiOCLT_m_sUELYXfk_vpDNoSs,1772
@@ -2041,12 +2047,12 @@ pygpt_net/ui/main.py,sha256=l6WhxjD0Hf4TlRoaFV07fM_F_RkgtKw9hAKnw0Sm-Vo,10335
2041
2047
  pygpt_net/ui/menu/__init__.py,sha256=86Mcp_TYTeoCQzsqoGXS9cnj75QbJU0rBfmztUh_7k0,1784
2042
2048
  pygpt_net/ui/menu/about.py,sha256=GTsBPzbjY6XXc9aXq6rFpkpzzGXdECaRTM8s2FMtupQ,5476
2043
2049
  pygpt_net/ui/menu/audio.py,sha256=F6viQibvSumKA0t7lwbpOjhl-2R23XuXhl5LHgz5AWI,3079
2044
- pygpt_net/ui/menu/config.py,sha256=krv6vXOOIronSDwzZZku5eqDVPXmvwD-ivBMaOcZUQs,8291
2050
+ pygpt_net/ui/menu/config.py,sha256=uQjHZtZok4dasIngzNZkV42pC54zesJ8nJhLLptPtPg,8159
2045
2051
  pygpt_net/ui/menu/debug.py,sha256=KLyi-3EP1rJTgX_9vtPr6H3C6eBqbceAQQ9oQ22HCTU,6224
2046
2052
  pygpt_net/ui/menu/file.py,sha256=gi4XIMs3l2-9sc5Vl6L9t_le9YP-UUVDIBr1tAREEOE,3360
2047
2053
  pygpt_net/ui/menu/lang.py,sha256=99dSS3mM4KIftgXgsgZoq2bJ_DnmgqA7z7cP49kICP4,897
2048
2054
  pygpt_net/ui/menu/plugins.py,sha256=z0cUg_S5dY1T4oZH3Vv0Dxx0rOuHVaiprPZj2FfBzD0,2880
2049
- pygpt_net/ui/menu/theme.py,sha256=LPSvPw2QZE4RVh_xwA17qA0xfNcOmCZn_dprCCNIOTw,3440
2055
+ pygpt_net/ui/menu/theme.py,sha256=HVqFp39QaeGdTqvDjL5mLJfI8GS0YACbQh23lwPyrPc,3709
2050
2056
  pygpt_net/ui/menu/tools.py,sha256=LfL_8NnVsh9koSXyD7KoV-qVOCF5Fru-7FPYQjh6Sfw,3794
2051
2057
  pygpt_net/ui/menu/video.py,sha256=yVEHdOiIMDOYaIbe3OumFyLxcwRqmo9n82bTACfBTVc,2026
2052
2058
  pygpt_net/ui/tray.py,sha256=OaFt9-Jb5YYL1_NXlZMPK2JP_9EO3KBLrSguBYYMr-8,6728
@@ -2105,7 +2111,7 @@ pygpt_net/ui/widget/lists/attachment_ctx.py,sha256=yFqzJj8D6vdNLW8v-8yX5-08kYpAu
2105
2111
  pygpt_net/ui/widget/lists/base.py,sha256=TRMhAHI14K3zTI-5JVROzO03QeVqLuFLmILLCOm7mUs,2435
2106
2112
  pygpt_net/ui/widget/lists/base_combo.py,sha256=MP_CaMh3BrB0WOjE1k4axinzVP5YjU5OrZX2lkUIEu8,3871
2107
2113
  pygpt_net/ui/widget/lists/base_list_combo.py,sha256=eCfAE8kYDjX2OtxhAuFpWVe7A0lcb0FGmd_T9Bi3Qzw,3411
2108
- pygpt_net/ui/widget/lists/context.py,sha256=stziCdWshNUBlVJS1CSAxFpmG47Sg90gnVkiXn6WWmw,18521
2114
+ pygpt_net/ui/widget/lists/context.py,sha256=tzJKwuDovpjeX5oEghau8T-JQIr9b4z-giEqjD22uhI,18548
2109
2115
  pygpt_net/ui/widget/lists/db.py,sha256=f0EIzTSzjblJtCuGoWBq6PerFt8yqFZrP2hkIoHuzbI,5861
2110
2116
  pygpt_net/ui/widget/lists/debug.py,sha256=bjzshfRXFwFQ4neCY8pFMHPm9b57i5x-pHdk-sY--VI,3658
2111
2117
  pygpt_net/ui/widget/lists/experts.py,sha256=4ztuhpMjU36XWYYjm67wo-zSDfvViSJk2Z48lXdJT2s,5911
@@ -2137,26 +2143,27 @@ pygpt_net/ui/widget/option/toggle_label.py,sha256=vVgJVqODoA_Kr2K6z0Ala46gTFbXsU
2137
2143
  pygpt_net/ui/widget/tabs/Input.py,sha256=uj02UtVJW7uTm2vfgnOxU58QsfHV5k-II9Q8S_RJwvU,1668
2138
2144
  pygpt_net/ui/widget/tabs/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2139
2145
  pygpt_net/ui/widget/tabs/body.py,sha256=CiYVnHvkxPaYDPRPYcKphDzpN-z7LL3h0IMZXgWQDOs,1001
2140
- pygpt_net/ui/widget/tabs/output.py,sha256=FQsSXKASZBq92EogsU5pk8VG0AX7autmNBdFDbxyIDA,6791
2146
+ pygpt_net/ui/widget/tabs/layout.py,sha256=eXD83Y54nQusbKdx8darJYrsApaN-gAdhu5ibwRsjgs,5128
2147
+ pygpt_net/ui/widget/tabs/output.py,sha256=uaLRT5ycnB80JEOMvtCaXVfOGjcORK_tzkmF03Tu8qo,10468
2141
2148
  pygpt_net/ui/widget/textarea/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2142
2149
  pygpt_net/ui/widget/textarea/calendar_note.py,sha256=oDHUJgJVtoq_1BOqvt2xxm9ed9Wx-kerxlh_9Vrq_Hs,5098
2143
2150
  pygpt_net/ui/widget/textarea/create.py,sha256=f4SrAW-2hjkKYIPrwVliSYH-LkgsQP8G13Jkq8EKhuI,1358
2144
2151
  pygpt_net/ui/widget/textarea/editor.py,sha256=3YfE8NiVp5Sxk5jq7sl-6fVeCD3EB2gAFlXWbJ0rVn0,5842
2145
2152
  pygpt_net/ui/widget/textarea/find.py,sha256=29-5i6VByMI45M_yz_84bXpwN-Z0alUHg7sVOXZD6So,1543
2146
- pygpt_net/ui/widget/textarea/html.py,sha256=FT40GOshuWsZYGiPY4gXuooX7U8mUuj95HFmxnc4PY4,9975
2153
+ pygpt_net/ui/widget/textarea/html.py,sha256=zabqSMA5KIslpk7JmE-5-TH1M_SME_pZ85NSdzSiaqQ,10149
2147
2154
  pygpt_net/ui/widget/textarea/input.py,sha256=_9OMsJ_zKo8jZDpWEPturQJ4O5mmiIY9GzvPc-4Ue3I,6456
2148
2155
  pygpt_net/ui/widget/textarea/name.py,sha256=vcyAY_pJWJoS_IJqdJjhIeDSniTL9rfpt8aaobWNFVY,1132
2149
2156
  pygpt_net/ui/widget/textarea/notepad.py,sha256=-3oRoSE9a1hV1OasTvlspZCeEBmApPj51JOs39saZ2I,6766
2150
- pygpt_net/ui/widget/textarea/output.py,sha256=UkZbuQIkFVMQzeMQEr9-qWwdFL6bYx_OVkt4G0TNdqQ,5086
2157
+ pygpt_net/ui/widget/textarea/output.py,sha256=VgX_p4ZQo5dadS0ebQhzMoTRxPH-midEFLLbStHoKqg,5227
2151
2158
  pygpt_net/ui/widget/textarea/rename.py,sha256=NwuGRIeWMo7WfsMguAFpTqdOz1eTiXbxrDXGsbWF_TY,1358
2152
- pygpt_net/ui/widget/textarea/search_input.py,sha256=OdA3-zbH4kY1TsTs0mkfYKNtHMHJLR9_I0mYIYuNGrc,1833
2159
+ pygpt_net/ui/widget/textarea/search_input.py,sha256=qd0Q3GQPYYMgUXDPWxIkQRm4ebmG0LF25OkG5XivDH0,1974
2153
2160
  pygpt_net/ui/widget/textarea/url.py,sha256=xbNQxoM5fYI1ZWbvybQkPmNPrIq3yhtNPBOSOWftZCg,1337
2154
- pygpt_net/ui/widget/textarea/web.py,sha256=KIW8MnwDWjEAMdiLA2v1yZiFbf-PT4KkF55uhIBYjfU,10404
2161
+ pygpt_net/ui/widget/textarea/web.py,sha256=9FoL02QY6mOxtc4t4fe8X7fVDIdPn9Sb_fwsv-OQDBA,11601
2155
2162
  pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2156
2163
  pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
2157
2164
  pygpt_net/utils.py,sha256=YhMvgy0wNt3roHIbbAnS-5SXOxOOIIvRRGd6FPTa6d0,6153
2158
- pygpt_net-2.4.37.dist-info/LICENSE,sha256=GLKQTnJOPK4dDIWfkAIM4GwOxKJXi5zcMGt7FjLR1xk,1126
2159
- pygpt_net-2.4.37.dist-info/METADATA,sha256=mX5X4-EExXL5ulkomx_uP6O855TlqCXzAJaNijH6L2A,169014
2160
- pygpt_net-2.4.37.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
2161
- pygpt_net-2.4.37.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2162
- pygpt_net-2.4.37.dist-info/RECORD,,
2165
+ pygpt_net-2.4.39.dist-info/LICENSE,sha256=GLKQTnJOPK4dDIWfkAIM4GwOxKJXi5zcMGt7FjLR1xk,1126
2166
+ pygpt_net-2.4.39.dist-info/METADATA,sha256=cWz9aPu0k2_BSe4BrHa8dJKjmcQwswYnOtf7WnDVvpk,169841
2167
+ pygpt_net-2.4.39.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
2168
+ pygpt_net-2.4.39.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2169
+ pygpt_net-2.4.39.dist-info/RECORD,,