pygpt-net 2.7.5__py3-none-any.whl → 2.7.6__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 (51) hide show
  1. pygpt_net/CHANGELOG.txt +8 -0
  2. pygpt_net/__init__.py +2 -2
  3. pygpt_net/controller/chat/handler/worker.py +9 -31
  4. pygpt_net/controller/chat/handler/xai_stream.py +621 -52
  5. pygpt_net/controller/debug/fixtures.py +3 -2
  6. pygpt_net/controller/files/files.py +65 -4
  7. pygpt_net/core/filesystem/url.py +4 -1
  8. pygpt_net/core/render/web/body.py +3 -2
  9. pygpt_net/core/types/chunk.py +27 -0
  10. pygpt_net/data/config/config.json +2 -2
  11. pygpt_net/data/config/models.json +2 -2
  12. pygpt_net/data/config/settings.json +1 -1
  13. pygpt_net/data/js/app/template.js +1 -1
  14. pygpt_net/data/js/app.min.js +2 -2
  15. pygpt_net/data/locale/locale.de.ini +3 -0
  16. pygpt_net/data/locale/locale.en.ini +3 -0
  17. pygpt_net/data/locale/locale.es.ini +3 -0
  18. pygpt_net/data/locale/locale.fr.ini +3 -0
  19. pygpt_net/data/locale/locale.it.ini +3 -0
  20. pygpt_net/data/locale/locale.pl.ini +3 -0
  21. pygpt_net/data/locale/locale.uk.ini +3 -0
  22. pygpt_net/data/locale/locale.zh.ini +3 -0
  23. pygpt_net/data/locale/plugin.cmd_mouse_control.en.ini +2 -2
  24. pygpt_net/item/ctx.py +3 -5
  25. pygpt_net/js_rc.py +2449 -2447
  26. pygpt_net/plugin/cmd_mouse_control/config.py +8 -7
  27. pygpt_net/plugin/cmd_mouse_control/plugin.py +3 -4
  28. pygpt_net/provider/api/anthropic/__init__.py +10 -8
  29. pygpt_net/provider/api/google/__init__.py +6 -5
  30. pygpt_net/provider/api/google/chat.py +1 -2
  31. pygpt_net/provider/api/openai/__init__.py +7 -3
  32. pygpt_net/provider/api/openai/responses.py +0 -0
  33. pygpt_net/provider/api/x_ai/__init__.py +10 -9
  34. pygpt_net/provider/api/x_ai/chat.py +272 -102
  35. pygpt_net/tools/image_viewer/ui/dialogs.py +298 -12
  36. pygpt_net/tools/text_editor/ui/widgets.py +5 -1
  37. pygpt_net/ui/base/context_menu.py +44 -1
  38. pygpt_net/ui/layout/toolbox/indexes.py +22 -19
  39. pygpt_net/ui/layout/toolbox/model.py +28 -5
  40. pygpt_net/ui/widget/image/display.py +25 -8
  41. pygpt_net/ui/widget/tabs/output.py +9 -1
  42. pygpt_net/ui/widget/textarea/editor.py +14 -1
  43. pygpt_net/ui/widget/textarea/input.py +20 -7
  44. pygpt_net/ui/widget/textarea/notepad.py +24 -1
  45. pygpt_net/ui/widget/textarea/output.py +23 -1
  46. pygpt_net/ui/widget/textarea/web.py +16 -1
  47. {pygpt_net-2.7.5.dist-info → pygpt_net-2.7.6.dist-info}/METADATA +10 -2
  48. {pygpt_net-2.7.5.dist-info → pygpt_net-2.7.6.dist-info}/RECORD +50 -49
  49. {pygpt_net-2.7.5.dist-info → pygpt_net-2.7.6.dist-info}/LICENSE +0 -0
  50. {pygpt_net-2.7.5.dist-info → pygpt_net-2.7.6.dist-info}/WHEEL +0 -0
  51. {pygpt_net-2.7.5.dist-info → pygpt_net-2.7.6.dist-info}/entry_points.txt +0 -0
@@ -6,7 +6,7 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2025.08.25 18:00:00 #
9
+ # Updated Date: 2026.01.03 17:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from PySide6.QtWidgets import QTabWidget, QMenu, QPushButton, QToolButton, QTabBar
@@ -502,6 +502,14 @@ class OutputTabs(QTabWidget):
502
502
  self.show_tool_menu(idx, column_idx, event.globalPos()) # tool
503
503
  else:
504
504
  self.show_default_menu(idx, column_idx, event.globalPos()) # default
505
+
506
+ # close on middle click
507
+ elif event.button() == Qt.MiddleButton:
508
+ idx = self.tabBar().tabAt(event.pos())
509
+ column_idx = self.column.get_idx()
510
+ self.window.controller.ui.tabs.close(idx, column_idx)
511
+ event.accept()
512
+ return
505
513
  super(OutputTabs, self).mousePressEvent(event)
506
514
 
507
515
  def prepare_menu(self, index: int, column_idx: int) -> QMenu:
@@ -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: 2025.08.24 23:00:00 #
9
+ # Updated Date: 2026.01.03 00:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from PySide6.QtCore import Qt
@@ -88,6 +88,10 @@ class BaseCodeEditor(QTextEdit):
88
88
  lambda: self.window.controller.chat.common.save_text(self.toPlainText()))
89
89
  menu.addAction(action)
90
90
 
91
+ # Add zoom submenu
92
+ zoom_menu = self.window.ui.context_menu.get_zoom_menu(self, "editor", self.value, self.on_zoom_changed)
93
+ menu.addMenu(zoom_menu)
94
+
91
95
  action = QAction(self._ICON_SEARCH, trans('text.context_menu.find'), menu)
92
96
  action.triggered.connect(self.find_open)
93
97
  action.setShortcut(self._FIND_SEQ)
@@ -137,6 +141,15 @@ class BaseCodeEditor(QTextEdit):
137
141
  else:
138
142
  super().wheelEvent(event)
139
143
 
144
+ def on_zoom_changed(self, value: int):
145
+ """
146
+ On font size changed
147
+
148
+ :param value: New font size
149
+ """
150
+ self.value = value
151
+ self.update_stylesheet(f"QTextEdit {{ font-size: {value}px }};")
152
+
140
153
  def focusInEvent(self, e):
141
154
  super().focusInEvent(e)
142
155
  self.window.controller.finder.focus_in(self.finder)
@@ -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: 2025.09.28 08:00:00 #
9
+ # Updated Date: 2026.01.03 00:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from typing import Optional
@@ -394,6 +394,10 @@ class ChatInput(QTextEdit):
394
394
  action.triggered.connect(lambda: self.window.controller.chat.common.save_text(self.toPlainText()))
395
395
  menu.addAction(action)
396
396
 
397
+ # Add zoom submenu
398
+ zoom_menu = self.window.ui.context_menu.get_zoom_menu(self, "font_size.input", self.value, self.on_zoom_changed)
399
+ menu.addMenu(zoom_menu)
400
+
397
401
  try:
398
402
  self.window.core.prompt.template.to_menu_options(menu, "input")
399
403
  self.window.core.prompt.custom.to_menu_options(menu, "input")
@@ -458,8 +462,8 @@ class ChatInput(QTextEdit):
458
462
  :param event: Event
459
463
  """
460
464
  if event.modifiers() & Qt.ControlModifier:
461
- prev = self.value
462
465
  dy = event.angleDelta().y()
466
+ prev = self.value
463
467
  if dy > 0:
464
468
  if self.value < self.max_font_size:
465
469
  self.value += 1
@@ -468,15 +472,24 @@ class ChatInput(QTextEdit):
468
472
  self.value -= 1
469
473
 
470
474
  if self.value != prev:
471
- self.window.core.config.data['font_size.input'] = self.value
472
- self.window.core.config.save()
473
- self.window.controller.ui.update_font_size()
474
- # Reflow may change number of lines; adjust auto-height next tick
475
- QTimer.singleShot(0, self._schedule_auto_resize)
475
+ self.on_zoom_changed(self.value)
476
476
  event.accept()
477
477
  return
478
478
  super().wheelEvent(event)
479
479
 
480
+ def on_zoom_changed(self, value: int):
481
+ """
482
+ Called when zoom level changes.
483
+
484
+ :param value: new zoom level
485
+ """
486
+ self.value = value
487
+ self.window.core.config.data['font_size.input'] = value
488
+ self.window.core.config.save()
489
+ self.window.controller.ui.update_font_size()
490
+ # Reflow may change number of lines; adjust auto-height next tick
491
+ QTimer.singleShot(0, self._schedule_auto_resize)
492
+
480
493
  def changeEvent(self, event):
481
494
  super().changeEvent(event)
482
495
  if event.type() == QEvent.FontChange:
@@ -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: 2025.08.24 23:00:00 #
9
+ # Updated Date: 2026.01.03 00:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from PySide6.QtCore import Qt, QEvent, QTimer
@@ -214,6 +214,10 @@ class NotepadOutput(QTextEdit):
214
214
  lambda: self.window.controller.chat.common.save_text(self.toPlainText()))
215
215
  menu.addAction(action)
216
216
 
217
+ # Add zoom submenu
218
+ zoom_menu = self.window.ui.context_menu.get_zoom_menu(self, "font_size", self.value, self.on_zoom_changed)
219
+ menu.addMenu(zoom_menu)
220
+
217
221
  action = QAction(self.ICON_SEARCH, trans('text.context_menu.find'), self)
218
222
  action.triggered.connect(self.find_open)
219
223
  action.setShortcut(QKeySequence("Ctrl+F"))
@@ -282,6 +286,25 @@ class NotepadOutput(QTextEdit):
282
286
  super(NotepadOutput, self).wheelEvent(event)
283
287
  self.last_scroll_pos = self._vscroll.value()
284
288
 
289
+ def on_zoom_changed(self, value: int):
290
+ """
291
+ On font size changed
292
+
293
+ :param value: New font size
294
+ """
295
+ self.value = value
296
+ self.window.core.config.data['font_size'] = value
297
+ self.window.core.config.save()
298
+ option = self.window.controller.settings.editor.get_option('font_size')
299
+ option['value'] = self.value
300
+ self.window.controller.config.apply(
301
+ parent_id='config',
302
+ key='font_size',
303
+ option=option,
304
+ )
305
+ self.window.controller.ui.update_font_size()
306
+ self.last_scroll_pos = self._vscroll.value()
307
+
285
308
  def focusInEvent(self, e):
286
309
  """
287
310
  Focus in event
@@ -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: 2025.08.24 23:00:00 #
9
+ # Updated Date: 2026.01.03 00:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from PySide6.QtCore import Qt, QEvent
@@ -118,6 +118,10 @@ class ChatOutput(QTextBrowser):
118
118
  action.triggered.connect(self._save_all_text)
119
119
  menu.addAction(action)
120
120
 
121
+ # Add zoom submenu
122
+ zoom_menu = self.window.ui.context_menu.get_zoom_menu(self, "font_size", self.value, self.on_zoom_changed)
123
+ menu.addMenu(zoom_menu)
124
+
121
125
  action = QAction(self.ICON_SEARCH, trans('text.context_menu.find'), self)
122
126
  action.triggered.connect(self.find_open)
123
127
  action.setShortcut(QKeySequence("Ctrl+F"))
@@ -193,6 +197,24 @@ class ChatOutput(QTextBrowser):
193
197
  else:
194
198
  super().wheelEvent(event)
195
199
 
200
+ def on_zoom_changed(self, value: int):
201
+ """
202
+ On font size changed
203
+
204
+ :param value: New font size
205
+ """
206
+ self.value = value
207
+
208
+ cfg = self.window.core.config
209
+ cfg.data['font_size'] = value
210
+ cfg.save()
211
+
212
+ ctrl = self.window.controller
213
+ option = ctrl.settings.editor.get_option('font_size')
214
+ option['value'] = value
215
+ ctrl.config.apply(parent_id='config', key='font_size', option=option)
216
+ ctrl.ui.update_font_size()
217
+
196
218
  def focusInEvent(self, e):
197
219
  """
198
220
  Focus in event
@@ -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: 2025.09.16 02:00:00 #
9
+ # Updated Date: 2026.01.03 00:00:00 #
10
10
  # ================================================== #
11
11
  from PySide6 import QtCore
12
12
  from PySide6.QtCore import Qt, QObject, Signal, Slot, QEvent, QUrl, QCoreApplication, QEventLoop
@@ -345,12 +345,27 @@ class ChatWebOutput(QWebEngineView):
345
345
  action.triggered.connect(self._save_as_html)
346
346
  menu.addAction(action)
347
347
 
348
+ # Add zoom submenu
349
+ zoom_menu = self.window.ui.context_menu.get_zoom_menu(self, "zoom", self.get_zoom_value(), self.on_zoom_changed)
350
+ menu.addMenu(zoom_menu)
351
+
348
352
  action = QAction(QIcon(":/icons/search.svg"), trans('text.context_menu.find'), self)
349
353
  action.triggered.connect(self.find_open)
350
354
  menu.addAction(action)
351
355
 
352
356
  menu.exec_(self.mapToGlobal(position))
353
357
 
358
+ def on_zoom_changed(self, zoom: float):
359
+ """
360
+ On zoom changed from context menu
361
+
362
+ :param zoom: float - new zoom factor
363
+ """
364
+ p = self.page()
365
+ if p:
366
+ self.window.core.config.set("zoom", zoom)
367
+ self.update_zoom()
368
+
354
369
  @Slot()
355
370
  def _save_selected_txt(self):
356
371
  """Save selected content as text file"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pygpt-net
3
- Version: 2.7.5
3
+ Version: 2.7.6
4
4
  Summary: Desktop AI Assistant powered by: OpenAI GPT-5, GPT-4, o1, o3, Gemini, Claude, Grok, DeepSeek, and other models supported by Llama Index, and Ollama. Chatbot, agents, completion, image generation, vision analysis, speech-to-text, plugins, MCP, internet access, file handling, command execution and more.
5
5
  License: MIT
6
6
  Keywords: ai,api,api key,app,assistant,bielik,chat,chatbot,chatgpt,claude,dall-e,deepseek,desktop,gemini,gpt,gpt-3.5,gpt-4,gpt-4-vision,gpt-4o,gpt-5,gpt-oss,gpt3.5,gpt4,grok,langchain,llama-index,llama3,mistral,o1,o3,ollama,openai,presets,py-gpt,py_gpt,pygpt,pyside,qt,text completion,tts,ui,vision,whisper
@@ -120,7 +120,7 @@ Description-Content-Type: text/markdown
120
120
 
121
121
  [![pygpt](https://snapcraft.io/pygpt/badge.svg)](https://snapcraft.io/pygpt)
122
122
 
123
- Release: **2.7.5** | build: **2026-01-03** | Python: **>=3.10, <3.14**
123
+ Release: **2.7.6** | build: **2026-01-03** | Python: **>=3.10, <3.14**
124
124
 
125
125
  > Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
126
126
  >
@@ -3796,6 +3796,14 @@ may consume additional tokens that are not displayed in the main window.
3796
3796
 
3797
3797
  ## Recent changes:
3798
3798
 
3799
+ **2.7.6 (2026-01-03)**
3800
+
3801
+ - Fixed compatibility with xAI SDK and resolved empty responses from Grok models.
3802
+ - Fixed missing libraries in the Snap package.
3803
+ - Added zoom and grab functionality in the Image Viewer.
3804
+ - Added a zoom menu to textarea and web widgets.
3805
+ - Added the ability to close tabs with a middle mouse button click.
3806
+
3799
3807
  **2.7.5 (2026-01-03)**
3800
3808
 
3801
3809
  - Added Sandbox/Playwright option to Computer Use mode.
@@ -1,6 +1,6 @@
1
- pygpt_net/CHANGELOG.txt,sha256=wyl0d7T4Pqq-AS8dufoxHoauaKm4m7-ji-OtEWW6pBc,112319
1
+ pygpt_net/CHANGELOG.txt,sha256=tO3NFOignuPDRUTlUO9TIfMSq0a74gVo45w6DL2rzik,112643
2
2
  pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
3
- pygpt_net/__init__.py,sha256=eZ0MYAb4k9TL9u4Hi042oho3qNd8mX1NSRvC2pho_ms,1372
3
+ pygpt_net/__init__.py,sha256=rreZPYjuIAqoM1LyOH-uvwibngKLN0cBl7jhVXuG7zY,1372
4
4
  pygpt_net/app.py,sha256=m_j9ZxNzfp3KKKJxh87uYEPbRAo_L_prOUGyLlL3tJM,26197
5
5
  pygpt_net/app_core.py,sha256=nFKChQ66naIft6jGXr1HCg7povnhIfa44h_VhsadOpo,3926
6
6
  pygpt_net/config.py,sha256=3CA7xXPKQsdRie1CY8_b5-Kk1taWMciUP9CesXRQNNY,18302
@@ -45,8 +45,8 @@ pygpt_net/controller/chat/handler/langchain_stream.py,sha256=bEV9FT9K6vVBAVrB73s
45
45
  pygpt_net/controller/chat/handler/llamaindex_stream.py,sha256=UPx7N4TeY1XZoKJOR7NdiyitD6xW9z-MygRG20AdzVQ,1851
46
46
  pygpt_net/controller/chat/handler/openai_stream.py,sha256=t8l133VBgdOXUoyO4ZD3qavKQ20XxcSGYq1g__me2nc,13112
47
47
  pygpt_net/controller/chat/handler/utils.py,sha256=5B5fxQtLHv_WXU9clGHU_UTcKw1wd-94XL5GqeW7wOY,7235
48
- pygpt_net/controller/chat/handler/worker.py,sha256=4v_E8bKIYDqFvFHTtYIOJbVhuuZuknkbUEgcqfH1Wjk,20803
49
- pygpt_net/controller/chat/handler/xai_stream.py,sha256=OVgQA-Za1y73C_BhHbUggth7HdLehSIl5jnG-_7GmKI,4303
48
+ pygpt_net/controller/chat/handler/worker.py,sha256=-F4TFL6q68CoJzJvkCvQK4mQMLNyU08w_zCRnZ8-tTA,19799
49
+ pygpt_net/controller/chat/handler/xai_stream.py,sha256=S1AMRd9rmSgV4lQ50srNJ3wbVACS16-I2IvsMei0E24,26081
50
50
  pygpt_net/controller/chat/image.py,sha256=hHUKmakMAov7zpk2_3zgxyHbpIODV8F6Ybw4hiED57A,10123
51
51
  pygpt_net/controller/chat/input.py,sha256=q3mZp9qU-b4NrHsGNbHituVM-5MmZZSp3f28FEtWiuk,7928
52
52
  pygpt_net/controller/chat/output.py,sha256=j0yaQUiRMGAcjRUpxTZlC7EnoBpk84ibUhmRo22E7Xk,8390
@@ -77,14 +77,14 @@ pygpt_net/controller/ctx/extra.py,sha256=0r-G6Tlm9WPDkLRmgPDlgyRr_XLfCJntnUGlYPJ
77
77
  pygpt_net/controller/ctx/summarizer.py,sha256=UNsq-JTARblGNT97uSMpZEVzdUuDJ8YA2j2dw9R2X3o,3079
78
78
  pygpt_net/controller/debug/__init__.py,sha256=dOJGTICjvTtrPIEDOsxCzcOHsfu8AFPLpSKbdN0q0KI,509
79
79
  pygpt_net/controller/debug/debug.py,sha256=HbyAnxSjH8vbkOTlNrRz6YHOrrXCPcsd9rGJnN1BcWQ,9684
80
- pygpt_net/controller/debug/fixtures.py,sha256=Wvp_xaB9ukfcHAHhxYW5uCLn2G_47JDhYdWFZBL6hmc,2749
80
+ pygpt_net/controller/debug/fixtures.py,sha256=vLVjI_0BIO_WnRxm6tVCxN-WWBw15bSvfsFklAqT6Ng,2804
81
81
  pygpt_net/controller/dialogs/__init__.py,sha256=jI2WisG3lzbeyf__1Y7g7wWrxlr1QnYBDDt4t_3eeYk,513
82
82
  pygpt_net/controller/dialogs/confirm.py,sha256=c6hXUZP1ZgTZFRGs9LFGNaKe_cl4iicjFWn2IIE0Wxc,18545
83
83
  pygpt_net/controller/dialogs/debug.py,sha256=TZN5dvw21dtpgE0uCQ0-djRYsrL9eEFGlZQGuSCV3G4,6166
84
84
  pygpt_net/controller/dialogs/dialogs.py,sha256=sJHyZxkAn9QKTegUqx_xETesN2ecMBkrtf-VsCubr2w,1008
85
85
  pygpt_net/controller/dialogs/info.py,sha256=qfG1T2_K11-h_97gBUwV2vHAdICQzSUoQOFBmibIapM,3993
86
86
  pygpt_net/controller/files/__init__.py,sha256=4dJY1HOUTQ6GPAvvUQmTNwTRJKoShyCP8Lo8j2dD0ec,509
87
- pygpt_net/controller/files/files.py,sha256=QcMhpEtAWPCc_l2XsVmC_b1dcj7YXLmm1F6S0d_Haes,20816
87
+ pygpt_net/controller/files/files.py,sha256=T8kHW9MlkTFQD494TUDiro1iHWV6_cfjp6RQWnpHmUg,23219
88
88
  pygpt_net/controller/finder/__init__.py,sha256=EUogcwzk4T0zyms2PJXduL3o1PzWwu0Q0qSo8Eu_8bw,510
89
89
  pygpt_net/controller/finder/finder.py,sha256=4jl8EzTVR1Wc0dJkVwacAdvBiuF1CyOSKB4Qewju0Jw,4955
90
90
  pygpt_net/controller/idx/__init__.py,sha256=EJ6C2RaW3RO72I7exGSoCcT6ooK-cuaLimM_9C_c7MA,507
@@ -297,7 +297,7 @@ pygpt_net/core/filesystem/opener.py,sha256=8EkieR_FwSz0HBykLcmV8TEw8Bn0e7WHqqiPT
297
297
  pygpt_net/core/filesystem/packer.py,sha256=aXxdxaoFmFjN1QCBkyXyh1_61H_-8pCGVzoSsRh_iBY,8435
298
298
  pygpt_net/core/filesystem/parser.py,sha256=CLESCdASVQ1-cJ_6ZxbgDSxvwC-haznj_coE1_tWaQE,3548
299
299
  pygpt_net/core/filesystem/types.py,sha256=1HFubxAHYup_SLQ7SlR5EvZb3KgVyd8K8vBRUkTcqaA,3458
300
- pygpt_net/core/filesystem/url.py,sha256=VsWT0svGZPJ8aZSwxOzGUEMuQUCkliXTsOIxpOD16ZY,3863
300
+ pygpt_net/core/filesystem/url.py,sha256=nYiziDshPZgBprDDQ2aXHOC34WQSaXKwfqRoDviM4ho,4055
301
301
  pygpt_net/core/fixtures/__init__,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
302
302
  pygpt_net/core/fixtures/stream/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
303
303
  pygpt_net/core/fixtures/stream/generator.py,sha256=Gjm68CMUOpQiYLRwG0dxVgSPw_cMJLYcG74Ll_i2hvg,9331
@@ -388,7 +388,7 @@ pygpt_net/core/render/plain/helpers.py,sha256=tWbdJZBfjnuHLAUDVYLTfv3Vt-h7XN1tg6
388
388
  pygpt_net/core/render/plain/pid.py,sha256=uM7KSWBkZGTFSRzIE30coT6Pl6aOaZORnPYkPy8dsC8,1537
389
389
  pygpt_net/core/render/plain/renderer.py,sha256=AxYE3X8TuF36HEpsqM_z7u7PNoG8u44lhSgXxv6g_Lo,17431
390
390
  pygpt_net/core/render/web/__init__.py,sha256=istp5dsn6EkLEP7lOBeDb8RjodUcWZqjcEvTroaTT-w,489
391
- pygpt_net/core/render/web/body.py,sha256=53q9TasA8yl92YVu9V6KXAD7CDh2zceRXDhGQ1l4iEc,31729
391
+ pygpt_net/core/render/web/body.py,sha256=0IumypRcfIh62SmC_bwAiP2Xfiu9zwNN9gLydOYW1_E,31788
392
392
  pygpt_net/core/render/web/debug.py,sha256=784RYXF6inn_bkRtYD1_FllQSyk67JmxKGWPiAyscKw,7138
393
393
  pygpt_net/core/render/web/helpers.py,sha256=URCvjucN-IhHpeDAMGi4wZaEYSSGP40V_DGdVIOH85U,7574
394
394
  pygpt_net/core/render/web/parser.py,sha256=pDFc9Tf8P-jvrDilXyT1fukcQHbixHRJ9Dn9hF10Gko,12892
@@ -410,6 +410,7 @@ pygpt_net/core/tokens/tokens.py,sha256=M-97eNqXqnlgoDdFYTydifF4VhStCbO5dSt9PoBCT
410
410
  pygpt_net/core/types/__init__.py,sha256=GHk9e0IaR7mNqD5qMNQnJxFpaXvPURy-IIkCzS7PFgE,660
411
411
  pygpt_net/core/types/agent.py,sha256=74GRk_T1hSt7P2CSYjn0oTeYH3j3-ZLKsG_62Abu674,872
412
412
  pygpt_net/core/types/base.py,sha256=ZLJkuQwaeSmIkTBQMwHtW8rsTKJD9wFpaEjwMOSzNfI,638
413
+ pygpt_net/core/types/chunk.py,sha256=LlPXAL1nD8i9E5lzn-NmKA95myYZ_ArVmwgaTNxG-n0,1167
413
414
  pygpt_net/core/types/console.py,sha256=vzYZ4fYkwK71ECJB7Qop0qcVIC6USLxxKuFN-ZweuB0,713
414
415
  pygpt_net/core/types/image.py,sha256=J_zLX9RdMz0WjDJsGpQ1g2ZBnYzS9J39HqYucPTOplU,3295
415
416
  pygpt_net/core/types/mode.py,sha256=yY_6B2n8xEszbqph7mWTbgECHmJjAgal8CFNcUgyG7M,904
@@ -434,8 +435,8 @@ pygpt_net/css_rc.py,sha256=PX6g9z5BsD-DXISuR2oq3jHcjiKfcJ4HsgcHez6wGMc,27762
434
435
  pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
435
436
  pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
436
437
  pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
437
- pygpt_net/data/config/config.json,sha256=_QLHzsaBSaD4l4Aig6GWJVe9fQHytw1FB7Bo9zv65M0,31127
438
- pygpt_net/data/config/models.json,sha256=yud9tO5XwnXI480VlkrdZ_12vrLL6r78Z1-aBsWzEu0,137934
438
+ pygpt_net/data/config/config.json,sha256=gJgQLjTKXP7_zVtWFhR9EACwpA62b2_-fsggulEgxAU,31127
439
+ pygpt_net/data/config/models.json,sha256=rHptFpz3h9a-5RkoDDu4rHJh9MEjlXoi3p6lngzWtX8,137934
439
440
  pygpt_net/data/config/modes.json,sha256=IpjLOm428_vs6Ma9U-YQTNKJNtZw-qyM1lwhh73xl1w,2111
440
441
  pygpt_net/data/config/presets/agent_code_act.json,sha256=GYHqhxtKFLUCvRI3IJAJ7Qe1k8yD9wGGNwManldWzlI,754
441
442
  pygpt_net/data/config/presets/agent_openai.json,sha256=bpDJgLRey_effQkzFRoOEGd4aHUrmzeODSDdNzrf62I,730
@@ -470,7 +471,7 @@ pygpt_net/data/config/presets/current.vision.json,sha256=x1ll5B3ROSKYQA6l27PRGXU
470
471
  pygpt_net/data/config/presets/dalle_white_cat.json,sha256=esqUb43cqY8dAo7B5u99tRC0MBV5lmlrVLnJhTSkL8w,552
471
472
  pygpt_net/data/config/presets/joke_agent.json,sha256=R6n9P7KRb0s-vZWZE7kHdlOfXAx1yYrPmUw8uLyw8OE,474
472
473
  pygpt_net/data/config/presets/joke_expert.json,sha256=jjcoIYEOaEp8kLoIbecxQROiq4J3Zess5w8_HmngPOY,671
473
- pygpt_net/data/config/settings.json,sha256=0XSRzV9J16Xmytf17B7wUzEXn9ToV0Mw7co25cWEBUs,85505
474
+ pygpt_net/data/config/settings.json,sha256=j8UKXE1M6B1sCVvLsoX2JoKYazL5FCmDXeJJvYus6Ic,85499
474
475
  pygpt_net/data/config/settings_section.json,sha256=pcfOFk0_eIRaa4nKRxhSVzDXe531YxWJgVx5rLV0J9U,1150
475
476
  pygpt_net/data/css/fix_windows.css,sha256=Mks14Vg25ncbMqZJfAMStrhvZmgHF6kU75ohTWRZeI8,664
476
477
  pygpt_net/data/css/fix_windows.dark.css,sha256=7hGbT_qI5tphYC_WlFpJRDAcmjBb0AQ2Yc-y-_Zzf2M,161
@@ -723,12 +724,12 @@ pygpt_net/data/js/app/raf.js,sha256=1tuRUKinRHYWCMWRujJ8yPj-TqI14eDDnw63z_bftIw,
723
724
  pygpt_net/data/js/app/runtime.js,sha256=yi1E6makgka-e5M8XImX13ogRWag7AaRQdjM9Az_UfE,19276
724
725
  pygpt_net/data/js/app/scroll.js,sha256=KlHG8nlo_4VZTsL7YR5LilfU8IeGd_j63wJF7XZqofQ,12344
725
726
  pygpt_net/data/js/app/stream.js,sha256=ivecd0Io1c9Xa13rJ9Nn0koHfwNhrx49Rv-GiXTwUbc,88438
726
- pygpt_net/data/js/app/template.js,sha256=IV7LfHuSRbXJn8d7NYQ7CnEr2fTicdvKohvv4XAGWSI,10725
727
+ pygpt_net/data/js/app/template.js,sha256=je2iAfnFiPBQ6afXKYSv6dCSW4uH_euKGyrEGKSNOSM,10746
727
728
  pygpt_net/data/js/app/tool.js,sha256=uZ_tTba6rD8V4rNBhe7HMB_ZQUQlTDrvAqXFTYIF6E0,2515
728
729
  pygpt_net/data/js/app/ui.js,sha256=YraukEC04Ws2mpAbqhfZPWVI34rh6pyORTLYEiPGff0,5822
729
730
  pygpt_net/data/js/app/user.js,sha256=oa936iXquRv0layy6H1vxsMS4aTcGkRPesLpMV-KjcE,10318
730
731
  pygpt_net/data/js/app/utils.js,sha256=nl1Gbt6I7Mf9LfKwqb-NaKJUWRZTD2s8xO6c3BwEXOc,1794
731
- pygpt_net/data/js/app.min.js,sha256=sjhWSBWT3RkP2IFjrMxaSNdzWBrhCyQnDh7GQ19f_UQ,212932
732
+ pygpt_net/data/js/app.min.js,sha256=bPjhuz_yfJk3aImsWALQ_DIUZKzWovewAa1t7hGSmZ8,212953
732
733
  pygpt_net/data/js/highlight/DIGESTS.md,sha256=bFIjBE_BrA2dkd0CM5SXLKQIccKOUcUeRFUK4c_3kWM,75091
733
734
  pygpt_net/data/js/highlight/LICENSE,sha256=bAgUMVkdnfaWyC3FmP4UI3ZbiimbIA7QCyga_Q9kxJA,1514
734
735
  pygpt_net/data/js/highlight/README.md,sha256=iUuAsk62y3lZEbACdBntj-_CEEN4gUfcbi4hkmEL6n0,1717
@@ -1744,14 +1745,14 @@ pygpt_net/data/js/katex/katex.min.js,sha256=KLASOtKS2x8pUxWVzCDmlWJ4jhuLb0vtrgak
1744
1745
  pygpt_net/data/js/markdown-it/markdown-it-katex.min.js,sha256=-wMst2a9i8Borapa9_hxPvpQysfFE-yph8GrBmDoA68,1670
1745
1746
  pygpt_net/data/js/markdown-it/markdown-it.min.js,sha256=OMcKHnypGrQOLZ5uYBKYUacX7Rx9Ssu91Bv5UDeRz2g,123618
1746
1747
  pygpt_net/data/languages.csv,sha256=fvtER6vnTXFHQslCh-e0xCfZDQ-ijgW4GYpOJG4U7LY,8289
1747
- pygpt_net/data/locale/locale.de.ini,sha256=-VyAI_0zQtTLULixiL8l_JfqkXTzJIinjVrm3XcZGjk,113160
1748
- pygpt_net/data/locale/locale.en.ini,sha256=0ZUkW7zDx0nOAgRb2a2yZdVerO3VfBcWa_dQb1O1Fxc,107984
1749
- pygpt_net/data/locale/locale.es.ini,sha256=bFTUMx7Hgayc0FAwC4YIAu7qdoeAXunOC6Yg3QWGxfQ,113689
1750
- pygpt_net/data/locale/locale.fr.ini,sha256=FN4VGP-3uaegQasz4WbvskV8UcmvSYoatQHnOCLvqpo,116627
1751
- pygpt_net/data/locale/locale.it.ini,sha256=OHYicnNwePsAPN590IOdrXltPYUSGZL7y9xbt5vn10Y,111367
1752
- pygpt_net/data/locale/locale.pl.ini,sha256=aCXx6igiJYH0PvMlYVAly0-OJbIljwmw_aSEQav7p-0,111071
1753
- pygpt_net/data/locale/locale.uk.ini,sha256=aS9w5jLU-1ooVflsVNCLSZ1QRuRvALDTBQesND7oqkE,154901
1754
- pygpt_net/data/locale/locale.zh.ini,sha256=0ssB0NauPmEwIe-BTBhtO4DUoL_AJUGLt4ZfrJGEpbA,99369
1748
+ pygpt_net/data/locale/locale.de.ini,sha256=PmKMxRzhmDLnInt4SkNY2f0IFIK-VDH5df-RNirObpg,113257
1749
+ pygpt_net/data/locale/locale.en.ini,sha256=Zsp3UG9OdkvdPlPRnCibO28IzC9UT4ZP2QO5E5HwuNY,108073
1750
+ pygpt_net/data/locale/locale.es.ini,sha256=iWa7AgQk5Gh4k_LDp7QAv39QlZvWmS1uwNA0auCg7cI,113776
1751
+ pygpt_net/data/locale/locale.fr.ini,sha256=SckslQjpV-as099Bh6rszt2x6KuNoRgrdIIsyqx7vOI,116716
1752
+ pygpt_net/data/locale/locale.it.ini,sha256=-_5gcCQLMoHfkgQAa8lfYhNWWyH6t7aAfsORJWKd3CU,111458
1753
+ pygpt_net/data/locale/locale.pl.ini,sha256=5km7nD_jMrHZ4Y6DgNeeF4UU412gvWXPJcdIfrJ5c3M,111174
1754
+ pygpt_net/data/locale/locale.uk.ini,sha256=wdmHrCM8euk8xBcgmiVOlE0-OuWes2ADQtxrRa3pFtU,155019
1755
+ pygpt_net/data/locale/locale.zh.ini,sha256=wqv7eSO-surbUqEhavX52zU_-WJs_cG6XApA0T14Gsk,99457
1755
1756
  pygpt_net/data/locale/plugin.agent.de.ini,sha256=BY28KpfFvgfVYJzcw2o5ScWnR4uuErIYGyc3NVHlmTw,1714
1756
1757
  pygpt_net/data/locale/plugin.agent.en.ini,sha256=HwOWCI7e8uzlIgyRWRVyr1x6Xzs8Xjv5pfEc7jfLOo4,1728
1757
1758
  pygpt_net/data/locale/plugin.agent.es.ini,sha256=bqaJQne8HPKFVtZ8Ukzo1TSqVW41yhYbGUqW3j2x1p8,1680
@@ -1817,7 +1818,7 @@ pygpt_net/data/locale/plugin.cmd_history.pl.ini,sha256=mJhpM-Pg6sr06t6bKEyFEp9sD
1817
1818
  pygpt_net/data/locale/plugin.cmd_history.uk.ini,sha256=fSQny1XysmVquhw13wYEvIeu2XKbRHHz7nayopn5oL4,4101
1818
1819
  pygpt_net/data/locale/plugin.cmd_history.zh.ini,sha256=Py5HhbXMOjabXTCKosPTku30j2UacwIBandc5fat49I,2345
1819
1820
  pygpt_net/data/locale/plugin.cmd_mouse_control.de.ini,sha256=O3MZ5A1iTRQlfQrFKHiA-4n4gXPOc3jT722cwbnS8y8,2200
1820
- pygpt_net/data/locale/plugin.cmd_mouse_control.en.ini,sha256=wrNRtNHPdiGaiWeWgLSvtpHNIW8RfAOh5FgT1-jL9fQ,3318
1821
+ pygpt_net/data/locale/plugin.cmd_mouse_control.en.ini,sha256=5kf0jZFz0ThnZR7w0pkk6G3Q607xkv_yo5Xu4x7bqlA,3322
1821
1822
  pygpt_net/data/locale/plugin.cmd_mouse_control.es.ini,sha256=GieAsEfU5uWKBc587y5LFLOUP5kHLB7rOnYena5qv0M,2273
1822
1823
  pygpt_net/data/locale/plugin.cmd_mouse_control.fr.ini,sha256=TulhtdRQdwCdd8jxOgIfbUYKQxaBN9Qo8owTBZpYSfg,2268
1823
1824
  pygpt_net/data/locale/plugin.cmd_mouse_control.it.ini,sha256=k4OBbuiCEQjTE-lcT-inS34c0mgaOMZFNrZczi2N9qY,2263
@@ -1946,7 +1947,7 @@ pygpt_net/item/assistant.py,sha256=Od8k7xrqzj2a_wmaHDNFiuG4sQiVf6p_tHnkHwh08ec,5
1946
1947
  pygpt_net/item/attachment.py,sha256=nsyvOnTS_gimcdzwJNI7bC-1KSrSu66XkMtaNwg2IYk,2970
1947
1948
  pygpt_net/item/builder_layout.py,sha256=u_VxSs_JrbVArVL7x6vMXmHNChmSpeCeqAoNjvJb9CA,1509
1948
1949
  pygpt_net/item/calendar_note.py,sha256=ab2cegCxr-p9WU_r3FkCNg0TwLHhfV4--O4Gei-Lshs,2507
1949
- pygpt_net/item/ctx.py,sha256=B-iJS12UzYBhgmEadD14DnLcuwD-Hy0KNG1dRdOZXv4,25917
1950
+ pygpt_net/item/ctx.py,sha256=Sq2I-AwNH6pdjFLr_0gqU5kcTaKCouUc2moBBFeEMw8,25748
1950
1951
  pygpt_net/item/index.py,sha256=NTDBgNjiyaixTFJu_1oBqoVajf92c2U1Oa3BKQ11poU,1920
1951
1952
  pygpt_net/item/mode.py,sha256=0uPU7ciqVLaEcijUA-D73ABMoLUFtgPytdXUuwqtews,688
1952
1953
  pygpt_net/item/model.py,sha256=Gt20je8pTQ_cAQwbw6tQqHF3eEmXWoNCTakFLNJRk7k,10113
@@ -1955,7 +1956,7 @@ pygpt_net/item/preset.py,sha256=nkLoyfHoZnjoqKKynDo0alJDb_o8BFxTZRYk7_2uQss,8991
1955
1956
  pygpt_net/item/prompt.py,sha256=xequZDTEv4eKjmC5OLqZnNrbyy0YA4LHe0k2RpPiBw0,1745
1956
1957
  pygpt_net/item/store.py,sha256=LZGXTbXNVMpmQCnPcF_7LmTAZ9fxKdXBnyn372_V_wE,6628
1957
1958
  pygpt_net/js.qrc,sha256=0ur8_O4TeD2NEmj2gPb7z1XKH5PRxgDo3H8awPPb7zg,2001
1958
- pygpt_net/js_rc.py,sha256=aD_ZJ1f_3uKEyGxlWy4Ss6R-I5uvatU5gAKRbz8YVN0,2789791
1959
+ pygpt_net/js_rc.py,sha256=P3aWJPiWsuJbZH919QYsTK-ijyQeRoRkb20BS-tO3M8,2789834
1959
1960
  pygpt_net/launcher.py,sha256=ES8Ouqwu2N7Uis0vrjbfMUPO5bC5uobNFYQSaWjmx3I,12222
1960
1961
  pygpt_net/migrations/Version20231227152900.py,sha256=1Rw1mK2mVQs0B2HrbxHICu1Pd1X5jg4yZIrytnR5N5Y,2849
1961
1962
  pygpt_net/migrations/Version20231230095000.py,sha256=A1_e9oC_E4LSo9uBFiiI2dKH7N-SERFp7DMX1R_8LXQ,906
@@ -2025,8 +2026,8 @@ pygpt_net/plugin/cmd_history/config.py,sha256=RrjssJshpdkyRFQ8u8y6KI2Nrqxr3IwZ6f
2025
2026
  pygpt_net/plugin/cmd_history/plugin.py,sha256=2zFhf4_TT8mt-KkC1e1E32zocoGyUTvNb7wBtExB3No,11160
2026
2027
  pygpt_net/plugin/cmd_history/worker.py,sha256=MrGSwFHqqjBC-UeJo2gP8nVyGJFJxRkhUqGkrl0X78c,6340
2027
2028
  pygpt_net/plugin/cmd_mouse_control/__init__.py,sha256=0JTjrVoiNztoH9ReDkmUTMBgPfbSEdnSNrXGHXeM6Hw,510
2028
- pygpt_net/plugin/cmd_mouse_control/config.py,sha256=ha6T5idrfr7euH9K4jmYYtzXKNBlraw7tulF_sXKVy8,31722
2029
- pygpt_net/plugin/cmd_mouse_control/plugin.py,sha256=fspMK6brROl7UAW0aBgEA9eDTjM63rOTlVst1gJjCy8,25354
2029
+ pygpt_net/plugin/cmd_mouse_control/config.py,sha256=QFZVH0rwQjVjVTbra2ACb4xieWrho3ycBiM7GdEbBD0,31643
2030
+ pygpt_net/plugin/cmd_mouse_control/plugin.py,sha256=foKQDpUFJcfFKrruHyakDqX0oolwepeYUq5f22jD5Gs,25320
2030
2031
  pygpt_net/plugin/cmd_mouse_control/worker.py,sha256=xb71Zm43_nSN0UIDVpMI56ETuGoRaKgIlOFqhk-rn5I,37091
2031
2032
  pygpt_net/plugin/cmd_mouse_control/worker_sandbox.py,sha256=5xmyvoq1KX9Mk6U7EIAzU2mRrocS18V_W7nYTONfh_4,27980
2032
2033
  pygpt_net/plugin/cmd_serial/__init__.py,sha256=qIXiIKpGz5-DvKXXKouwLowJkNqfdOgoJUKxweBhUMQ,510
@@ -2166,15 +2167,15 @@ pygpt_net/provider/agents/openai/evolve.py,sha256=0wYOc1zNFL5wxzetZ5redMHR_vqY78
2166
2167
  pygpt_net/provider/agents/openai/flow_from_schema.py,sha256=Ih8HMsjGBVLqQ0khLHR_VHkEs56hKfab0cfYc03MYDE,3986
2167
2168
  pygpt_net/provider/agents/openai/supervisor.py,sha256=9l8GAteHho9Jy8V3A-scQ4G9xzAit5EM9uqJ01EBTgg,23414
2168
2169
  pygpt_net/provider/api/__init__.py,sha256=Daaev4XktvnciogLCfXcuokzrBUrbeoeRfU7usY5Svw,933
2169
- pygpt_net/provider/api/anthropic/__init__.py,sha256=IVWpeh5TxGug3kMCkYMkyC27wdjjZeDjlp0U3kW3SvM,7583
2170
+ pygpt_net/provider/api/anthropic/__init__.py,sha256=uVHEOQcNWO9bBKno2zTjRF3_jXncRR1-O5hu9_nfHwg,7614
2170
2171
  pygpt_net/provider/api/anthropic/audio.py,sha256=AUfcTW2ysT9YSNyz7aNQGuXbdNnX9H-PHTStiIe46-o,1087
2171
2172
  pygpt_net/provider/api/anthropic/chat.py,sha256=E13TzVCd1F-WqqzFWz8zEMh935VgIcnE290rLfHK0XM,12395
2172
2173
  pygpt_net/provider/api/anthropic/image.py,sha256=BrWrGsz_f2bAG8f5s25YdwtV6HJKLB6Tk2xhtD85RMc,935
2173
2174
  pygpt_net/provider/api/anthropic/tools.py,sha256=eLnxTsH_tgrcDBsAD4--j8Tbn2e1863VogFMzKqedNY,10098
2174
2175
  pygpt_net/provider/api/anthropic/vision.py,sha256=amP0FNHrJM-iSVO4j0AkVDYo1JFdmg0e5IqTuaEqeCM,4377
2175
- pygpt_net/provider/api/google/__init__.py,sha256=fJcqfPDNM3UCWLBYFS79U9uhYoQyxFqAZlwCYpolUY8,11464
2176
+ pygpt_net/provider/api/google/__init__.py,sha256=ureMgX863YoMWZjnEgl7xBE7UCH8Yos-UzZUOUix2xw,11596
2176
2177
  pygpt_net/provider/api/google/audio.py,sha256=Ymq_Q3WofC-8TfYOGu5NmNuRW_omvl8UCS3Q0WEBxnA,4149
2177
- pygpt_net/provider/api/google/chat.py,sha256=es3kCitzneaNNgg-75qSWx3nBSBJ5_uQlgLN0hrlZQ4,40405
2178
+ pygpt_net/provider/api/google/chat.py,sha256=Q8UBKUAYs7IFPwhUW0ZYCPs5vJN_GZ8l-joZeOeeVWQ,40354
2178
2179
  pygpt_net/provider/api/google/computer.py,sha256=4MHyoZQv1E_YsUYnQVILOeXlvroO8FOIpExyKEBDi58,7432
2179
2180
  pygpt_net/provider/api/google/image.py,sha256=jyZrRkre33Mcm_tLnq32VLu9ytXzx5Wvsy6mO4hKA3o,36464
2180
2181
  pygpt_net/provider/api/google/music.py,sha256=pxLn-7ATTMvX5loCTX_H6Uq69pcTo4Df8sn69YyzelQ,14394
@@ -2188,7 +2189,7 @@ pygpt_net/provider/api/google/video.py,sha256=4hfIifTKg1LWGxWslOXITqh9xnGPVGQGTf
2188
2189
  pygpt_net/provider/api/google/vision.py,sha256=yWeA86v5FPvhm5rYiNZJ3cR9KdzYQp_AdGd1tyldphc,4026
2189
2190
  pygpt_net/provider/api/google/worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2190
2191
  pygpt_net/provider/api/google/worker/importer.py,sha256=tqDrhFaW6MiwxtODyyWeWWkv9xj6YCDb9btzy9H7D0w,14861
2191
- pygpt_net/provider/api/openai/__init__.py,sha256=JY-wZu2R11wmVEWZG00nFyRoFbunMbz13RHfF1Jj3vI,12325
2192
+ pygpt_net/provider/api/openai/__init__.py,sha256=gcnFy4OAKnaSMtv3jQJpyiLlplaUP0Ap-qd21fP2PTQ,12554
2192
2193
  pygpt_net/provider/api/openai/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2193
2194
  pygpt_net/provider/api/openai/agents/client.py,sha256=opH2DnYPVRuWvc284AMjJBWUhipV8hdWcs3yqWA2g7s,2372
2194
2195
  pygpt_net/provider/api/openai/agents/computer.py,sha256=wilD84b9Wl20ZRbBVgW-97k-a-9fYrMb2fbtQZoTqYk,11764
@@ -2217,9 +2218,9 @@ pygpt_net/provider/api/openai/vision.py,sha256=dsG-pAr1MP-A1aQLc3Yn2QzPNwMlPGQEi
2217
2218
  pygpt_net/provider/api/openai/worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2218
2219
  pygpt_net/provider/api/openai/worker/assistants.py,sha256=z1fZzl59FYMVXxv48r9JVIzSCFgLzYOeKXhreZcIzO8,21538
2219
2220
  pygpt_net/provider/api/openai/worker/importer.py,sha256=e019pxV4zH3dzAkLJxDb7bIkTifi-6blK0FQSOfSkQY,16562
2220
- pygpt_net/provider/api/x_ai/__init__.py,sha256=Ae8uW0lJqK6avq0U8MPZXk6NmlwbG1ku448xa64i3Ow,8193
2221
+ pygpt_net/provider/api/x_ai/__init__.py,sha256=RnF2kIicU0RNhmr-RhSzR6t2zaj2wnO27b4aPSGnmNI,8231
2221
2222
  pygpt_net/provider/api/x_ai/audio.py,sha256=6ePxjNqokUPmiuh0utC8udgFU9Jha5ScBJ6TKcIDZR8,1065
2222
- pygpt_net/provider/api/x_ai/chat.py,sha256=uiWabPG6QmWVxbwt-4gNLCzL-zK2rmJVdr9HB7u826k,38257
2223
+ pygpt_net/provider/api/x_ai/chat.py,sha256=Q-GIA-mfCFhLA0Fcpy88eXJ0i1citA4Q-_NxkDR4-Dc,46786
2223
2224
  pygpt_net/provider/api/x_ai/image.py,sha256=nZiAGvRFQcrqXibZxWFGTVFFO_aI2QxMKkey4vPWW9w,8973
2224
2225
  pygpt_net/provider/api/x_ai/remote.py,sha256=Ols0_XABst0FcIv4bkwe9Wkd1Gihbh4uqb33kWf_B4o,10482
2225
2226
  pygpt_net/provider/api/x_ai/tools.py,sha256=JpmAwHiru_DJ9hETkKmq1aePdDLSLH2B4FH1VqfaAF4,4299
@@ -2458,7 +2459,7 @@ pygpt_net/tools/html_canvas/ui/widgets.py,sha256=IdrxVSs-FR4K1dEO8kJDIO0puyMHEF3
2458
2459
  pygpt_net/tools/image_viewer/__init__.py,sha256=BQLr8Kg670xPAyv_qoRA_EjWq5WZclqoc4OpTk5V11k,508
2459
2460
  pygpt_net/tools/image_viewer/tool.py,sha256=yorykUAYTpoU8i1Dcr45YuUcOyhy0clS-6rZ9zYLN98,9664
2460
2461
  pygpt_net/tools/image_viewer/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2461
- pygpt_net/tools/image_viewer/ui/dialogs.py,sha256=qBBoXUrqS8hU4ldiSDSBwnhUbup5K4uEKqfL5Jh6-Ms,5369
2462
+ pygpt_net/tools/image_viewer/ui/dialogs.py,sha256=dKWNDYN7fIBc6u8jDDe9unUHW5fvuzp-aJD-ZioiJC8,16517
2462
2463
  pygpt_net/tools/indexer/__init__.py,sha256=0rE5HM0os0k0_LpMdGt7sozEQfckN7qm_b3KEwMb1wc,508
2463
2464
  pygpt_net/tools/indexer/tool.py,sha256=VZF1ZB7qbqnd_o5dv9AHmAD4CzsaesLrBEyryOakcGU,17277
2464
2465
  pygpt_net/tools/indexer/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -2477,7 +2478,7 @@ pygpt_net/tools/text_editor/__init__.py,sha256=BQLr8Kg670xPAyv_qoRA_EjWq5WZclqoc
2477
2478
  pygpt_net/tools/text_editor/tool.py,sha256=scxA2GR3IIt6f_l9ryfKVu-lyfgge_OWW6VyaFap-LY,8814
2478
2479
  pygpt_net/tools/text_editor/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2479
2480
  pygpt_net/tools/text_editor/ui/dialogs.py,sha256=0nJjDsw9lzP7K5JLA1Fp4mzTSj8M7k5TZ0Wn_rIL85M,2918
2480
- pygpt_net/tools/text_editor/ui/widgets.py,sha256=bvg3uJgWf5d3Vo_j5dMcoUchrvEA9e9uJK5aAy9-ZJc,2758
2481
+ pygpt_net/tools/text_editor/ui/widgets.py,sha256=YB-0QUyH4O6Zj2OLqK6pFcXvEnW3TlvoQu7lHmZf99I,2930
2481
2482
  pygpt_net/tools/translator/__init__.py,sha256=R4-y_danRZamZRwXctX1b0tI9oz4qM_xcVthXNyYjcU,508
2482
2483
  pygpt_net/tools/translator/tool.py,sha256=hm3dEfQJRo8u45gyRXyIOp92khQuBJ6hnqIxO92meDU,14537
2483
2484
  pygpt_net/tools/translator/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -2491,7 +2492,7 @@ pygpt_net/tools/web_browser/ui/widgets.py,sha256=T7_-5m3hYjTupwjP4PE8Vya-XtY4YdD
2491
2492
  pygpt_net/ui/__init__.py,sha256=8E7hcx-7TscDf8XqCBDjyy_vOih1ccV0Zbq0aEGVHt0,9134
2492
2493
  pygpt_net/ui/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2493
2494
  pygpt_net/ui/base/config_dialog.py,sha256=CSqMsuMEnmuBofqxY18DUHFQInkcPpRbWYvGYW8TReg,9017
2494
- pygpt_net/ui/base/context_menu.py,sha256=l-Z9LqPa_xGsjdV3ay65Rqu8JLzZDx2s8GUzYMt4eSk,4462
2495
+ pygpt_net/ui/base/context_menu.py,sha256=t7RFAWLAgtNizQTlI9zMwpPuoKlFZr3iJdVCVwH8KwI,6449
2495
2496
  pygpt_net/ui/base/flow_layout.py,sha256=t6TeNSdmScs0NQKlIdzbFmR6oLogekzJGKPOYJUvXls,2803
2496
2497
  pygpt_net/ui/dialog/__init__.py,sha256=1SGZ5i2G1UnKQpyj_HYkN0t-HLepD6jU_ICw1waaxlk,488
2497
2498
  pygpt_net/ui/dialog/about.py,sha256=hES3qj_5snhWWGnuGS0rjzhh-QnEHbTJiAyHM2vLCQs,7568
@@ -2549,9 +2550,9 @@ pygpt_net/ui/layout/toolbox/audio.py,sha256=8k2qYzVmSv6g0KXhQBY9_diuGBPODSe7VHiE
2549
2550
  pygpt_net/ui/layout/toolbox/computer_env.py,sha256=hw8qMqKdSLoaeUjP9qTnS-0PtEYEtwaymf9ImRJhT9E,2899
2550
2551
  pygpt_net/ui/layout/toolbox/footer.py,sha256=LbLDXbcarPfH-tpBKgXlQqkAvm1HcNZpR7fPjbD76KA,4278
2551
2552
  pygpt_net/ui/layout/toolbox/image.py,sha256=SxMElizDwnv_i-3CRqlHf5vcwjmKpOQcIjDNnMHzAn0,2567
2552
- pygpt_net/ui/layout/toolbox/indexes.py,sha256=GfiQ-DA-mE-fr_1P5r-8jeMJ_LeQR9PvpH5oo4oBEwc,6882
2553
+ pygpt_net/ui/layout/toolbox/indexes.py,sha256=F2hR75PhAeziIID0rBs6V00cyzP1-1dUQxiBMuingk0,7373
2553
2554
  pygpt_net/ui/layout/toolbox/mode.py,sha256=MfVunjZZ3Wi0o4sbWBqg74c2-W6BNDHr3ylZevLZb8c,2085
2554
- pygpt_net/ui/layout/toolbox/model.py,sha256=OxcxSyFCQ3z6XAwj991X4KiSb78Upfn4v4m3991yvsw,1707
2555
+ pygpt_net/ui/layout/toolbox/model.py,sha256=VCxmHUUP9GRnjkrGY_nF2PU9lfA9Lq5UFgqqV2s72U0,3048
2555
2556
  pygpt_net/ui/layout/toolbox/presets.py,sha256=dOpZBcbE6ygIOjLrj-O5O0Cj6IIoH7Y5SerOYmBTpI4,8150
2556
2557
  pygpt_net/ui/layout/toolbox/prompt.py,sha256=subUUZJgkCmvSRekZcgVYs6wzl-MYPBLXKTs0wcJFgw,2663
2557
2558
  pygpt_net/ui/layout/toolbox/raw.py,sha256=ifZXr3dE_HQODsALXO-h2yaZ-zfDQnnx9dtFWsBp5Pg,1821
@@ -2623,7 +2624,7 @@ pygpt_net/ui/widget/element/status.py,sha256=csRP1xzqB2yNyW2wdYQdGy7VVvzBucKHzjZ
2623
2624
  pygpt_net/ui/widget/filesystem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2624
2625
  pygpt_net/ui/widget/filesystem/explorer.py,sha256=T-0cQ-jwmlYglo2gKjaj02Q0V5Z6XMiztCB7nqf2rAQ,68297
2625
2626
  pygpt_net/ui/widget/image/__init__.py,sha256=X9-pucLqQF9_ocDV-qNY6EQAJ_4dubGb-7TcWIzCXBo,488
2626
- pygpt_net/ui/widget/image/display.py,sha256=73lBXCdmdAxjCCD2XV3HBdvYU6PgL_PpybweONMOSik,3771
2627
+ pygpt_net/ui/widget/image/display.py,sha256=4aG5GTruk4VF0-rAyJu0zRvDPuu-eG1uluHjXUwq69s,4152
2627
2628
  pygpt_net/ui/widget/lists/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2628
2629
  pygpt_net/ui/widget/lists/assistant.py,sha256=yYA4b5chF7bGMm9KOFK-7DIM_eKJUAdbNSJuHebIcFs,10608
2629
2630
  pygpt_net/ui/widget/lists/attachment.py,sha256=pQseXaK3_-LzDpJO2sVREO6nML0oCt9PqxYVi50wx08,16533
@@ -2676,28 +2677,28 @@ pygpt_net/ui/widget/tabs/Input.py,sha256=ELHpaWjhHJdKRhtTjDIByaMF_BqaHCyKwEWDofm
2676
2677
  pygpt_net/ui/widget/tabs/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2677
2678
  pygpt_net/ui/widget/tabs/body.py,sha256=rJRsa5b3Wc0CQP54LOwggXvrh9zraK3LoSd4cWXtpLI,4913
2678
2679
  pygpt_net/ui/widget/tabs/layout.py,sha256=6b6bN04IFS0I0cYvq-nUxN2eWwHVUBiNwPXoNgLokM4,6628
2679
- pygpt_net/ui/widget/tabs/output.py,sha256=znL2dJzjeVHChmlBYcwpWiJqbARMcEk-KONzKQ6zx20,25090
2680
+ pygpt_net/ui/widget/tabs/output.py,sha256=TpW8jESR0a5KpAnoOFNfapomnNfEDP_YMtjzOnF9FL4,25381
2680
2681
  pygpt_net/ui/widget/textarea/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2681
2682
  pygpt_net/ui/widget/textarea/calendar_note.py,sha256=4LsPZ2ZHHZAsgjvgn6iZLKupKFq9fLGDu1PFEQVkaGw,5896
2682
2683
  pygpt_net/ui/widget/textarea/console.py,sha256=nCV92S5JR4DiRWH6akWhygxg9kaLLxnCPoqXV0ZRK74,1333
2683
2684
  pygpt_net/ui/widget/textarea/create.py,sha256=f4SrAW-2hjkKYIPrwVliSYH-LkgsQP8G13Jkq8EKhuI,1358
2684
- pygpt_net/ui/widget/textarea/editor.py,sha256=gmNzsMrCQXGkFyVfl0woc_klmjsyiXuOdcG8Lk2PSR4,5038
2685
+ pygpt_net/ui/widget/textarea/editor.py,sha256=kDUOLEknAhytfTkfw4XiH944DJ_dcOZpAlJpYyb7gbc,5444
2685
2686
  pygpt_net/ui/widget/textarea/find.py,sha256=fQu6t-_LTZGFRNCkezywtMVsL-DocIkGBR_HbRFq61g,1534
2686
2687
  pygpt_net/ui/widget/textarea/html.py,sha256=J-xCGyjpBL1wMps2ty-nIWZvJOVDC7k0z-BSD7C8row,16340
2687
- pygpt_net/ui/widget/textarea/input.py,sha256=97lNMP7epjHPxpYuL2BmK1lOPWix5pqehQR1qEb-DTQ,43329
2688
+ pygpt_net/ui/widget/textarea/input.py,sha256=L9LdSV66U4um3F3pjHauj5HAzKg5DP1nk6nif86rp3A,43699
2688
2689
  pygpt_net/ui/widget/textarea/input_extra.py,sha256=4lvqkh0PZWlWoYcXC5t6YlaoHnOuY10KFBaJhnqcM2g,25839
2689
2690
  pygpt_net/ui/widget/textarea/name.py,sha256=vcyAY_pJWJoS_IJqdJjhIeDSniTL9rfpt8aaobWNFVY,1132
2690
- pygpt_net/ui/widget/textarea/notepad.py,sha256=yGXXUN3pBs5UQgx4ipa8_Xn8JWxbNEoYVsnLg4BvtcY,9718
2691
- pygpt_net/ui/widget/textarea/output.py,sha256=3yvlnxXhss-i5eRHwmNxxRZMhP4fiTbKA3esNyhrBt8,6934
2691
+ pygpt_net/ui/widget/textarea/notepad.py,sha256=NAaOcawAB8xPh8DNSBMJTNAMbGgnyOvhskOzpoU7-fk,10517
2692
+ pygpt_net/ui/widget/textarea/output.py,sha256=QHtlB_6FTOI5oGQLbaBOkvCeW4Di4V5NrsczhMevan4,7612
2692
2693
  pygpt_net/ui/widget/textarea/rename.py,sha256=NwuGRIeWMo7WfsMguAFpTqdOz1eTiXbxrDXGsbWF_TY,1358
2693
2694
  pygpt_net/ui/widget/textarea/search_input.py,sha256=aoOlunBwxn-z3gIMNKfnghHX00sC36wQHl87dRlDJlM,5227
2694
2695
  pygpt_net/ui/widget/textarea/url.py,sha256=xbNQxoM5fYI1ZWbvybQkPmNPrIq3yhtNPBOSOWftZCg,1337
2695
- pygpt_net/ui/widget/textarea/web.py,sha256=sVRSmudPwPfjK2h7q-e6Ae4b-677BHLe20t-xjxcDDI,20269
2696
+ pygpt_net/ui/widget/textarea/web.py,sha256=kt1HvnaoiHL0SMnS3rCEolHoJtADAcw5EhUTI2AHnHE,20730
2696
2697
  pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2697
2698
  pygpt_net/ui/widget/vision/camera.py,sha256=DCx7h1nHruuUkU0Tw8Ay4OUVoNJhkuLsW4hIvGF5Skw,6985
2698
2699
  pygpt_net/utils.py,sha256=r-Dum4brfBaZaHJr-ux86FfdMuMHFwyuUL2bEFirdhc,14649
2699
- pygpt_net-2.7.5.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
2700
- pygpt_net-2.7.5.dist-info/METADATA,sha256=JnDI277n2Kbn1pHNbouQZstebUAI2FQNqCQOcQlNnLE,172950
2701
- pygpt_net-2.7.5.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
2702
- pygpt_net-2.7.5.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2703
- pygpt_net-2.7.5.dist-info/RECORD,,
2700
+ pygpt_net-2.7.6.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
2701
+ pygpt_net-2.7.6.dist-info/METADATA,sha256=Wq7FUURHfE4MLLJDXdrtpDJE5Em6eRanmcEFjA1WBnY,173278
2702
+ pygpt_net-2.7.6.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
2703
+ pygpt_net-2.7.6.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2704
+ pygpt_net-2.7.6.dist-info/RECORD,,