pygpt-net 2.4.37__py3-none-any.whl → 2.4.38__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 (49) hide show
  1. CHANGELOG.md +5 -0
  2. README.md +18 -5
  3. pygpt_net/CHANGELOG.txt +5 -0
  4. pygpt_net/__init__.py +3 -3
  5. pygpt_net/controller/config/placeholder.py +29 -0
  6. pygpt_net/controller/lang/mapping.py +2 -2
  7. pygpt_net/controller/settings/editor.py +6 -0
  8. pygpt_net/controller/theme/__init__.py +33 -8
  9. pygpt_net/controller/theme/common.py +22 -1
  10. pygpt_net/controller/theme/markdown.py +26 -14
  11. pygpt_net/controller/theme/menu.py +26 -5
  12. pygpt_net/core/attachments/context.py +14 -12
  13. pygpt_net/core/audio/__init__.py +59 -1
  14. pygpt_net/core/filesystem/__init__.py +5 -19
  15. pygpt_net/core/render/web/body.py +31 -15
  16. pygpt_net/data/config/config.json +7 -3
  17. pygpt_net/data/config/models.json +3 -3
  18. pygpt_net/data/config/modes.json +3 -3
  19. pygpt_net/data/config/settings.json +55 -10
  20. pygpt_net/data/config/settings_section.json +3 -0
  21. pygpt_net/data/css/style.light.css +1 -0
  22. pygpt_net/data/css/{web.css → web-blocks.css} +144 -133
  23. pygpt_net/data/css/web-chatgpt.css +342 -0
  24. pygpt_net/data/css/web-chatgpt.dark.css +64 -0
  25. pygpt_net/data/css/web-chatgpt.light.css +75 -0
  26. pygpt_net/data/css/web-chatgpt_wide.css +342 -0
  27. pygpt_net/data/css/web-chatgpt_wide.dark.css +64 -0
  28. pygpt_net/data/css/web-chatgpt_wide.light.css +75 -0
  29. pygpt_net/data/locale/locale.de.ini +9 -0
  30. pygpt_net/data/locale/locale.en.ini +11 -1
  31. pygpt_net/data/locale/locale.es.ini +9 -0
  32. pygpt_net/data/locale/locale.fr.ini +9 -0
  33. pygpt_net/data/locale/locale.it.ini +9 -0
  34. pygpt_net/data/locale/locale.pl.ini +9 -0
  35. pygpt_net/data/locale/locale.uk.ini +9 -0
  36. pygpt_net/data/locale/locale.zh.ini +9 -0
  37. pygpt_net/plugin/audio_input/simple.py +17 -3
  38. pygpt_net/provider/core/config/patch.py +15 -1
  39. pygpt_net/ui/menu/config.py +7 -11
  40. pygpt_net/ui/menu/theme.py +9 -2
  41. pygpt_net/ui/widget/lists/context.py +1 -0
  42. pygpt_net/ui/widget/textarea/search_input.py +4 -1
  43. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.38.dist-info}/METADATA +19 -6
  44. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.38.dist-info}/RECORD +49 -43
  45. /pygpt_net/data/css/{web.dark.css → web-blocks.dark.css} +0 -0
  46. /pygpt_net/data/css/{web.light.css → web-blocks.light.css} +0 -0
  47. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.38.dist-info}/LICENSE +0 -0
  48. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.38.dist-info}/WHEEL +0 -0
  49. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.38.dist-info}/entry_points.txt +0 -0
@@ -611,6 +611,7 @@ menu.theme.dark = Темний колір...
611
611
  menu.theme.density = Розмір компонування
612
612
  menu.theme.light = Світлий колір...
613
613
  menu.theme.settings = Налаштування...
614
+ menu.theme.style = Стиль...
614
615
  menu.theme.syntax = Підсвітка синтаксису коду...
615
616
  menu.theme.tooltips = Показувати підказки
616
617
  menu.tools = Інструменти
@@ -752,6 +753,12 @@ settings.api_key = OpenAI API КЛЮЧ
752
753
  settings.api_key.desc = Необхідний для API OpenAI. Якщо ви бажаєте використовувати налаштовані кінцеві точки або локальні API, тоді ви можете ввести будь-яке значення тут.
753
754
  settings.app.env = Оточення додатка (os.environ)
754
755
  settings.app.env.desc = Додаткові змінні середовища для встановлення при запуску додатка
756
+ settings.audio.input.channels = Канали
757
+ settings.audio.input.channels.desc = Вхідні канали, за замовчуванням: 1
758
+ settings.audio.input.device = Аудіо Вхідний Пристрій
759
+ settings.audio.input.device.desc = Виберіть аудіо пристрій для введення мікрофона.
760
+ settings.audio.input.rate = Частота дискретизації
761
+ settings.audio.input.rate.desc = Частота дискретизації, за замовчуванням: 44100
755
762
  settings.check_updates = Перевіряти оновлення при запуску
756
763
  settings.check_updates.bg = Перевіряти оновлення у фоновому режимі
757
764
  settings.cmd.field.desc = Увімкнути інструмент `{cmd}`.
@@ -857,6 +864,7 @@ settings.render.plain = Вимкнути форматування markdown у в
857
864
  settings.restart.required = Для внесення змін у цю опцію необхідно перезапустити програму.
858
865
  settings.section.access = Доступність
859
866
  settings.section.agent = Агенти та експерти
867
+ settings.section.audio = Аудіо
860
868
  settings.section.ctx = Контекст
861
869
  settings.section.files = Файли та вкладення
862
870
  settings.section.general = Загальні
@@ -870,6 +878,7 @@ settings.store_history = Зберігати історію
870
878
  settings.store_history_time = Зберігати час в історії
871
879
  settings.temperature = Температура
872
880
  settings.theme.markdown = Використовуйте кольори теми у вікні чату
881
+ settings.theme.style = Стиль (чат)
873
882
  settings.top_p = Top-p
874
883
  settings.upload.data_dir = Зберігайте зображення, знімки екрану та завантаження у директорії даних
875
884
  settings.upload.data_dir.desc = Увімкніть, щоб зберігати все в одній директорії даних
@@ -687,6 +687,7 @@ menu.theme.dark = 深色主題...
687
687
  menu.theme.density = 布局大小
688
688
  menu.theme.light = 淺色主題...
689
689
  menu.theme.settings = 設置...
690
+ menu.theme.style = 风格...
690
691
  menu.theme.syntax = 代码语法高亮显示...
691
692
  menu.theme.tooltips = 顯示工具提示
692
693
  menu.tools = 工具
@@ -854,6 +855,12 @@ settings.api_key = OpenAI API KEY
854
855
  settings.api_key.desc = OpenAI API所需。如果您希望使用自定义终端或本地API,则可以在此输入任意值。
855
856
  settings.app.env = 应用程序环境 (os.environ)
856
857
  settings.app.env.desc = 在应用程序启动时要设置的额外环境变量
858
+ settings.audio.input.channels = 声道
859
+ settings.audio.input.channels.desc = 输入声道,默认: 1
860
+ settings.audio.input.device = 音频输入设备
861
+ settings.audio.input.device.desc = 选择用于麦克风输入的音频设备。
862
+ settings.audio.input.rate = 采样率
863
+ settings.audio.input.rate.desc = 采样率,默认: 44100
857
864
  settings.check_updates = 啟動時檢查更新
858
865
  settings.check_updates.bg = 在後台檢查更新
859
866
  settings.cmd.field.desc = 启用 `{cmd}` 工具。
@@ -967,6 +974,7 @@ settings.render.plain = 在輸出中禁用markdown格式化(RAW純文本模式
967
974
  settings.restart.required = 此選項生效需要重新啟動應用程序。
968
975
  settings.section.access = 可访问性
969
976
  settings.section.agent = 代理和专家
977
+ settings.section.audio = 音频
970
978
  settings.section.ctx = 上下文
971
979
  settings.section.developer = 開發者
972
980
  settings.section.files = 文件和附件
@@ -986,6 +994,7 @@ settings.store_history = 存儲歷史記錄
986
994
  settings.store_history_time = 在歷史記錄中存儲時間
987
995
  settings.temperature = 溫度
988
996
  settings.theme.markdown = 在聊天窗口中使用主題顏色
997
+ settings.theme.style = 风格 (聊天)
989
998
  settings.top_p = Top-p
990
999
  settings.upload.data_dir = 在data目錄中存儲圖像、捕獲和上傳
991
1000
  settings.upload.data_dir.desc= 啟用以在單個data目錄中存儲所有內容
@@ -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.21 02:00:00 #
9
+ # Updated Date: 2024.12.08 00:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import pyaudio
@@ -84,11 +84,25 @@ class Simple:
84
84
  self.timer.timeout.connect(self.stop_timeout)
85
85
  self.timer.start(self.TIMEOUT_SECONDS * 1000)
86
86
 
87
+ # select audio input device
88
+ device_id = int(self.plugin.window.core.config.get('audio.input.device', 0))
89
+ rate = int(self.plugin.window.core.config.get('audio.input.rate', 44100))
90
+ channels = int(self.plugin.window.core.config.get('audio.input.channels', 1))
91
+ if not self.plugin.window.core.audio.is_device_compatible(device_id):
92
+ err = self.plugin.window.core.audio.get_last_error()
93
+ message = "Selected audio input device is not compatible. Please select another one. ERROR: " + str(err)
94
+ self.is_recording = False
95
+ self.plugin.window.core.debug.log(message)
96
+ self.plugin.window.ui.dialogs.alert(message)
97
+ self.switch_btn_start() # switch button to start
98
+ return
99
+
87
100
  self.p = pyaudio.PyAudio()
88
101
  self.stream = self.p.open(format=pyaudio.paInt16,
89
- channels=1,
90
- rate=44100,
102
+ channels=channels,
103
+ rate=rate,
91
104
  input=True,
105
+ input_device_index=device_id,
92
106
  frames_per_buffer=1024,
93
107
  stream_callback=callback)
94
108
 
@@ -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.29 23:00:00 #
9
+ # Updated Date: 2024.12.07 21:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import copy
@@ -1734,6 +1734,20 @@ class Patch:
1734
1734
  'ctx.attachment.rag.history.max_items')
1735
1735
  updated = True
1736
1736
 
1737
+ # < 2.4.38
1738
+ if old < parse_version("2.4.38"):
1739
+ print("Migrating config from < 2.4.38...")
1740
+ if 'theme.style' not in data:
1741
+ data["theme.style"] = "blocks"
1742
+ if 'audio.input.device' not in data:
1743
+ data["audio.input.device"] = "0"
1744
+ if 'audio.input.channels' not in data:
1745
+ data["audio.input.channels"] = 1
1746
+ if 'audio.input.rate' not in data:
1747
+ data["audio.input.rate"] = 44100
1748
+ self.window.core.updater.patch_css('style.light.css', True) # force update
1749
+ updated = True
1750
+
1737
1751
  # update file
1738
1752
  migrated = False
1739
1753
  if updated:
@@ -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.05.02 19:00:00 #
9
+ # Updated Date: 2024.12.07 21:00:00 #
10
10
  # ================================================== #
11
11
 
12
+ import os
13
+
12
14
  from PySide6.QtGui import QAction, QIcon
13
15
  from PySide6.QtWidgets import QMenu
14
16
 
@@ -42,16 +44,10 @@ class Config:
42
44
  self.window.ui.menu['config.access'] = QAction(QIcon(":/icons/accessibility.svg"),
43
45
  trans("menu.config.access"), self.window)
44
46
 
45
- css_files = []
46
- css_files.append("style.css")
47
- css_files.append("style.dark.css")
48
- css_files.append("style.light.css")
49
- css_files.append("markdown.css")
50
- css_files.append("markdown.dark.css")
51
- css_files.append("markdown.light.css")
52
- css_files.append("web.css")
53
- css_files.append("web.dark.css")
54
- css_files.append("web.light.css")
47
+ css_dir = os.path.join(self.window.core.config.path, 'css')
48
+ css_files = os.listdir(css_dir)
49
+ css_files = [f for f in css_files if not f.endswith('.backup')] # remove .backup files
50
+ css_files = sorted(css_files) # sort by name
55
51
 
56
52
  json_files = []
57
53
  json_files.append("attachments.json")
@@ -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.04.24 02:00:00 #
9
+ # Updated Date: 2024.12.07 21:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from PySide6.QtGui import QAction, QIcon
@@ -28,10 +28,14 @@ class Theme:
28
28
  def setup(self):
29
29
  """Setup theme menu"""
30
30
  self.window.ui.menu['theme'] = {}
31
+ self.window.ui.menu['theme_style'] = {}
31
32
  self.window.ui.menu['theme_syntax'] = {}
32
33
  self.window.ui.menu['theme.layout.density'] = {}
33
34
  self.window.ui.menu['menu.theme'] = QMenu(trans("menu.theme"), self.window)
34
35
 
36
+ # styles
37
+ self.window.ui.menu['theme.style'] = QMenu(trans("menu.theme.style"), self.window)
38
+
35
39
  # color themes
36
40
  self.window.ui.menu['theme.dark'] = QMenu(trans("menu.theme.dark"), self.window)
37
41
  self.window.ui.menu['theme.light'] = QMenu(trans("menu.theme.light"), self.window)
@@ -40,12 +44,14 @@ class Theme:
40
44
  # layout density
41
45
  self.window.ui.menu['theme.density'] = QMenu(trans("menu.theme.density"), self.window)
42
46
 
47
+ """
43
48
  # blocks
44
49
  self.window.ui.menu['theme.blocks'] = QAction(trans("menu.theme.blocks"), self.window, checkable=True)
45
50
  self.window.ui.menu['theme.blocks'].triggered.connect(
46
51
  lambda: self.window.controller.theme.toggle_option('render.blocks'))
47
52
  self.window.ui.menu['theme.blocks'].setCheckable(True)
48
53
  self.window.ui.menu['theme.blocks'].setChecked(self.window.core.config.get('render.blocks'))
54
+ """
49
55
 
50
56
  # tooltips
51
57
  self.window.ui.menu['theme.tooltips'] = QAction(trans("menu.theme.tooltips"), self.window, checkable=True)
@@ -62,10 +68,11 @@ class Theme:
62
68
  self.window.ui.menu['theme.settings'].triggered.connect(
63
69
  lambda: self.window.controller.settings.open_section('layout'))
64
70
 
71
+ self.window.ui.menu['menu.theme'].addMenu(self.window.ui.menu['theme.style'])
65
72
  self.window.ui.menu['menu.theme'].addMenu(self.window.ui.menu['theme.dark'])
66
73
  self.window.ui.menu['menu.theme'].addMenu(self.window.ui.menu['theme.light'])
67
74
  self.window.ui.menu['menu.theme'].addMenu(self.window.ui.menu['theme.syntax'])
68
75
  self.window.ui.menu['menu.theme'].addMenu(self.window.ui.menu['theme.density'])
69
- self.window.ui.menu['menu.theme'].addAction(self.window.ui.menu['theme.blocks'])
76
+ # self.window.ui.menu['menu.theme'].addAction(self.window.ui.menu['theme.blocks'])
70
77
  self.window.ui.menu['menu.theme'].addAction(self.window.ui.menu['theme.tooltips'])
71
78
  self.window.ui.menu['menu.theme'].addAction(self.window.ui.menu['theme.settings'])
@@ -494,3 +494,4 @@ class SectionItem(QStandardItem):
494
494
  self.setTextAlignment(QtCore.Qt.AlignRight)
495
495
  font = self.font()
496
496
  font.setBold(True)
497
+ self.setFont(font)
@@ -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.04.12 10:00:00 #
9
+ # Updated Date: 2024.12.07 21:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from PySide6.QtGui import QAction, QIcon
@@ -32,6 +32,9 @@ class CtxSearchInput(QLineEdit):
32
32
  self.clear_action.triggered.connect(self.clear_search_string)
33
33
  self.addAction(self.clear_action, QLineEdit.TrailingPosition)
34
34
  self.clear_action.setVisible(False)
35
+ action = QAction(self)
36
+ action.setIcon(QIcon(":/icons/search.svg"))
37
+ self.addAction(action, QLineEdit.LeadingPosition)
35
38
 
36
39
  self.textChanged.connect(self.on_text_changed)
37
40
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pygpt-net
3
- Version: 2.4.37
3
+ Version: 2.4.38
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.38** | build: **2024.12.08** | 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,11 @@ may consume additional tokens that are not displayed in the main window.
3955
3963
 
3956
3964
  ## Recent changes:
3957
3965
 
3966
+ **2.4.38 (2024-12-08)**
3967
+
3968
+ - 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...
3969
+ - Added configuration options for audio input in Settings -> Audio -> Audio Input Device, Channels, and Sampling rate.
3970
+
3958
3971
  **2.4.37 (2024-11-30)**
3959
3972
 
3960
3973
  - The `Query only` mode in `Uploaded` tab has been renamed to `RAG`.
@@ -1,9 +1,9 @@
1
- CHANGELOG.md,sha256=8wrPaTiIoD-6JD75ThU_LF2hY2ylHmRbm1yDRCwxack,77715
2
- README.md,sha256=HsxtUFLetSFyO5HMmGzabAraLw7wHmhaT43ip0HAcBM,164212
1
+ CHANGELOG.md,sha256=p7EFpuICKZKDi_YEllP4dXAdYAKtaMaavxUNIGT76pA,78020
2
+ README.md,sha256=AgAeA3ztIyAJQNkwmZlp8i4H6tQ0BibTNK1WsMO2MNU,164722
3
3
  icon.png,sha256=CzcINJaU23a9hNjsDlDNbyuiEvKZ4Wg6DQVYF6SpuRg,13970
4
- pygpt_net/CHANGELOG.txt,sha256=ec7KOMpxOkqFAAI5ANHbw1Ks9g6C9Idg7bUAuLjj_HY,76268
4
+ pygpt_net/CHANGELOG.txt,sha256=RUOqHSWGd_oj9UmL-fa80drXFVPOSHoSx3QaGkL4GS4,76570
5
5
  pygpt_net/LICENSE,sha256=6Ku72-zJ8wO5VIR87UoJ5P_coCVjPghaFL9ZF2jLp7E,1146
6
- pygpt_net/__init__.py,sha256=DdP6xTl4Q9tdsmKWKGT6wILl4WgJkNVFgplTEcyBrKo,1067
6
+ pygpt_net/__init__.py,sha256=oNktagrTfCFQrP-k1quMHdbIqOScp7SEWyxbenYiWKo,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
@@ -51,7 +51,7 @@ 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
54
+ pygpt_net/controller/config/placeholder.py,sha256=1AxsyyswPfKZmu5rJrkgcLPo0LwUW1RwO5TJAMb8zlw,11427
55
55
  pygpt_net/controller/ctx/__init__.py,sha256=MinX8CqDStHqI_3pScx7uxJky0ZwsAgw1TjUsJkFhZs,32716
56
56
  pygpt_net/controller/ctx/common.py,sha256=xOQ9hXJCMSLZLpvP-4lMSMlH53thwulFKfdac5Ci-50,6227
57
57
  pygpt_net/controller/ctx/extra.py,sha256=S4o6ybZPhmaxRz0huaJimwAzk4gKscjAItwppdmIV9Y,8135
@@ -72,7 +72,7 @@ pygpt_net/controller/kernel/reply.py,sha256=DEKnT8NtRVG64ec13vphLgfSwoPjNqyy8jt-
72
72
  pygpt_net/controller/kernel/stack.py,sha256=lGDk9Sp1C5_wJV99gpCDupJs7ZBkcp31eeDbsUUVfWo,3735
73
73
  pygpt_net/controller/lang/__init__.py,sha256=pTSX0il3xLNGHoh4XAOdIUlbC2f9kIBCzthRDDOjyNY,3287
74
74
  pygpt_net/controller/lang/custom.py,sha256=bxQ5sh9mZ3Oypd-VpQ-6ziQza1jANnxF80qF6Dj8AYk,6145
75
- pygpt_net/controller/lang/mapping.py,sha256=uwH9I2g8G_8Ll7eAKN1TSzUEtLuwZxRLPIOC_ACmFt8,22999
75
+ pygpt_net/controller/lang/mapping.py,sha256=TVWT_4cAnCIKNuL4RA0H9QDinvaHimlyz8Retsfejlw,22997
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
@@ -91,13 +91,13 @@ 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
@@ -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
@@ -169,7 +169,7 @@ 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
@@ -216,7 +216,7 @@ pygpt_net/core/render/plain/helpers.py,sha256=qf1w6EXa6cCFcMkipOA8MzxIRFIYNVv3uX
216
216
  pygpt_net/core/render/plain/pid.py,sha256=yngcS0o1lBQ2RlRzWrs5JwqT_ThamvnWftp3cXcyiG8,770
217
217
  pygpt_net/core/render/plain/renderer.py,sha256=W5qZinG-5W_Ady-DNEkYSyTQXXdpfGzvoUYYV-VEM30,14393
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=qa5gRz_iz3nsghhBOOSmIIac0tYETZDk7Go5AZhNdQ4,28815
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
@@ -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=78EicxO_5jOZFcLpJwJ4TtFjmgDoeTRhZh1nILo5xJo,19422
246
+ pygpt_net/data/config/models.json,sha256=MWC7Ln08FiM5zC53ynIHOfo3XJA5J36sTWpO9evRaIQ,48872
247
+ pygpt_net/data/config/modes.json,sha256=JKCUxWUzyVtn0TYT15fysb5Tpt5ozuZv_va-vCm_aBw,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=BrvII43UQDtc08WdVi-Rj_ZQwLTjs6Zys32IBQIR23U,62492
1483
+ pygpt_net/data/locale/locale.en.ini,sha256=SU9rDpMbGdiw29Qq6Cye0znN5VAPrrOl_ivU_Ko7lMg,74836
1484
+ pygpt_net/data/locale/locale.es.ini,sha256=7PpiAV7fpFDSQDLVsQVFEMCSPrUiSv-EJ0kmPO1JSUk,62723
1485
+ pygpt_net/data/locale/locale.fr.ini,sha256=tLgtTPeT7D4uP0Ee57jEiTEb15NHN5HwVKBtlflPtt4,64743
1486
+ pygpt_net/data/locale/locale.it.ini,sha256=tYMTJW-7qA_wlhL7V9ayh5tZhiybmhFkXMHgyEGZKKw,61583
1487
+ pygpt_net/data/locale/locale.pl.ini,sha256=E3M16MJ4IHU-_NyxDwRiOvLc8CX-z164Q4rc9vBF0QY,61648
1488
+ pygpt_net/data/locale/locale.uk.ini,sha256=yS4zhXmGp5otGv6UVWML53elAzkQAVQj71X89XEbwZ0,86014
1489
+ pygpt_net/data/locale/locale.zh.ini,sha256=EfH6BRHu9A7wrxgREbSSPg_uh2wfiYjacxCerqDQxsA,63431
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=YjpuKnO27FzrEZAZlgnoa3qReD09K84wYizJL3tR3AI,6371
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,7 +1808,7 @@ 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=PnMlrKsbjz-6kjlgr0u68CxVKPhNExuMGP4-3Fgqp-g,92171
1806
1812
  pygpt_net/provider/core/ctx/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
1807
1813
  pygpt_net/provider/core/ctx/base.py,sha256=uIOqarMQUpvkPDrwGdnpD5jJQospePhEwZaS_l0BJbo,2631
1808
1814
  pygpt_net/provider/core/ctx/db_sqlite/__init__.py,sha256=klO4ocC6sGRYLBtTklernzZTNBBJryo3c4b0SRmgAi4,10911
@@ -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
@@ -2149,14 +2155,14 @@ pygpt_net/ui/widget/textarea/name.py,sha256=vcyAY_pJWJoS_IJqdJjhIeDSniTL9rfpt8aa
2149
2155
  pygpt_net/ui/widget/textarea/notepad.py,sha256=-3oRoSE9a1hV1OasTvlspZCeEBmApPj51JOs39saZ2I,6766
2150
2156
  pygpt_net/ui/widget/textarea/output.py,sha256=UkZbuQIkFVMQzeMQEr9-qWwdFL6bYx_OVkt4G0TNdqQ,5086
2151
2157
  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
2158
+ pygpt_net/ui/widget/textarea/search_input.py,sha256=qd0Q3GQPYYMgUXDPWxIkQRm4ebmG0LF25OkG5XivDH0,1974
2153
2159
  pygpt_net/ui/widget/textarea/url.py,sha256=xbNQxoM5fYI1ZWbvybQkPmNPrIq3yhtNPBOSOWftZCg,1337
2154
2160
  pygpt_net/ui/widget/textarea/web.py,sha256=KIW8MnwDWjEAMdiLA2v1yZiFbf-PT4KkF55uhIBYjfU,10404
2155
2161
  pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2156
2162
  pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
2157
2163
  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,,
2164
+ pygpt_net-2.4.38.dist-info/LICENSE,sha256=GLKQTnJOPK4dDIWfkAIM4GwOxKJXi5zcMGt7FjLR1xk,1126
2165
+ pygpt_net-2.4.38.dist-info/METADATA,sha256=MD_N68t67mf8ehAlq1OLOjvJNdh2W5bJHeq0OmERCmo,169524
2166
+ pygpt_net-2.4.38.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
2167
+ pygpt_net-2.4.38.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2168
+ pygpt_net-2.4.38.dist-info/RECORD,,