pygpt-net 2.5.91__py3-none-any.whl → 2.5.92__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.
pygpt_net/CHANGELOG.txt CHANGED
@@ -1,3 +1,7 @@
1
+ 2.5.92 (2025-08-08)
2
+
3
+ - Added max files to store config option in Audio -> Cache.
4
+
1
5
  2.5.91 (2025-08-08)
2
6
 
3
7
  - Added GPT-5.
pygpt_net/__init__.py CHANGED
@@ -13,7 +13,7 @@ __author__ = "Marcin Szczygliński"
13
13
  __copyright__ = "Copyright 2025, Marcin Szczygliński"
14
14
  __credits__ = ["Marcin Szczygliński"]
15
15
  __license__ = "MIT"
16
- __version__ = "2.5.91"
16
+ __version__ = "2.5.92"
17
17
  __build__ = "2025-08-08"
18
18
  __maintainer__ = "Marcin Szczygliński"
19
19
  __github__ = "https://github.com/szczyglis-dev/py-gpt"
@@ -204,11 +204,28 @@ class Audio:
204
204
  :return: audio cache directory path
205
205
  """
206
206
  dir = self.window.core.config.get_user_dir("tmp")
207
+ if not os.path.exists(dir):
208
+ os.makedirs(dir, exist_ok=True)
207
209
  tmp_dir = os.path.join(dir, "audio_cache")
208
210
  if not os.path.exists(tmp_dir):
209
211
  os.makedirs(tmp_dir, exist_ok=True)
210
212
  return tmp_dir
211
213
 
214
+ def delete_old_cache(self, max_files: int = 10):
215
+ """
216
+ Delete old cache files, keeping only the most recent ones.
217
+
218
+ :param max_files: Maximum number of cache files to keep.
219
+ """
220
+ tmp_dir = self.get_cache_dir()
221
+ files = [os.path.join(tmp_dir, f) for f in os.listdir(tmp_dir) if f.endswith('.' + self.CACHE_FORMAT)]
222
+ files.sort(key=os.path.getmtime, reverse=True)
223
+ for file in files[max_files:]:
224
+ try:
225
+ os.remove(file)
226
+ except Exception as e:
227
+ print(f"Error deleting cache file {file}: {e}")
228
+
212
229
  def mp3_to_wav(
213
230
  self,
214
231
  src_file: str,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "__meta__": {
3
- "version": "2.5.91",
4
- "app.version": "2.5.91",
3
+ "version": "2.5.92",
4
+ "app.version": "2.5.92",
5
5
  "updated_at": "2025-08-08T00:00:00"
6
6
  },
7
7
  "access.audio.event.speech": false,
@@ -95,6 +95,7 @@
95
95
  "attachments_send_clear": true,
96
96
  "attachments_capture_clear": true,
97
97
  "audio.cache.enabled": true,
98
+ "audio.cache.max_files": 1000,
98
99
  "audio.input.backend": "native",
99
100
  "audio.input.channels": 1,
100
101
  "audio.input.continuous": false,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "__meta__": {
3
- "version": "2.5.91",
4
- "app.version": "2.5.91",
3
+ "version": "2.5.92",
4
+ "app.version": "2.5.92",
5
5
  "updated_at": "2025-08-08T23:07:35"
6
6
  },
7
7
  "items": {
@@ -1373,17 +1373,7 @@
1373
1373
  "step": 1,
1374
1374
  "advanced": false,
1375
1375
  "tab": "device"
1376
- },
1377
- "audio.cache.enabled": {
1378
- "section": "audio",
1379
- "type": "bool",
1380
- "slider": true,
1381
- "label": "settings.audio.cache.enabled",
1382
- "description": "settings.audio.cache.enabled.desc",
1383
- "value": true,
1384
- "advanced": false,
1385
- "tab": "options"
1386
- },
1376
+ },
1387
1377
  "audio.input.stop_interval": {
1388
1378
  "section": "audio",
1389
1379
  "type": "int",
@@ -1424,6 +1414,28 @@
1424
1414
  "advanced": false,
1425
1415
  "tab": "options"
1426
1416
  },
1417
+ "audio.cache.enabled": {
1418
+ "section": "audio",
1419
+ "type": "bool",
1420
+ "slider": true,
1421
+ "label": "settings.audio.cache.enabled",
1422
+ "description": "settings.audio.cache.enabled.desc",
1423
+ "value": true,
1424
+ "advanced": false,
1425
+ "tab": "cache"
1426
+ },
1427
+ "audio.cache.max_files": {
1428
+ "section": "audio",
1429
+ "type": "int",
1430
+ "slider": false,
1431
+ "label": "settings.audio.cache.max_files",
1432
+ "description": "settings.audio.cache.max_files.desc",
1433
+ "min": 0,
1434
+ "multiplier": 1,
1435
+ "value": 1000,
1436
+ "advanced": false,
1437
+ "tab": "cache"
1438
+ },
1427
1439
  "remote_tools.web_search": {
1428
1440
  "section": "remote_tools",
1429
1441
  "type": "bool",
@@ -1027,6 +1027,8 @@ settings.app.env = Anwendungsumgebung (os.environ)
1027
1027
  settings.app.env.desc = Zusätzliche Umgebungsvariablen, die beim Start der Anwendung gesetzt werden sollen
1028
1028
  settings.audio.cache.enabled = Cache aktivieren
1029
1029
  settings.audio.cache.enabled.desc = Aktivieren Sie das Audio-Caching für die Spracherzeugung.
1030
+ settings.audio.cache.max_files = Maximale Anzahl zu speichernder Dateien
1031
+ settings.audio.cache.max_files.desc = Maximale Anzahl gecachter Audiodateien, die auf der Festplatte gespeichert werden
1030
1032
  settings.audio.input.backend = Backend für Audioeingabe
1031
1033
  settings.audio.input.backend.desc = Wählen Sie das Backend für die Audioeingabe.
1032
1034
  settings.audio.input.channels = Kanäle
@@ -1241,6 +1243,7 @@ settings.section.api_keys.openai = OpenAI
1241
1243
  settings.section.api_keys.perplexity = Perplexity
1242
1244
  settings.section.api_keys.xai = xAI
1243
1245
  settings.section.audio = Audio
1246
+ settings.section.audio.cache = Cache
1244
1247
  settings.section.audio.device = Geräte
1245
1248
  settings.section.audio.options = Optionen
1246
1249
  settings.section.ctx = Kontext
@@ -1033,6 +1033,8 @@ settings.app.env = Application environment (os.environ)
1033
1033
  settings.app.env.desc = Additional environment vars to set on application start
1034
1034
  settings.audio.cache.enabled = Enable Cache
1035
1035
  settings.audio.cache.enabled.desc = Enable audio caching for speech synthesis generation.
1036
+ settings.audio.cache.max_files = Max files to store
1037
+ settings.audio.cache.max_files.desc = Max number of cached audio files stored to disk
1036
1038
  settings.audio.input.backend = Audio Input Backend
1037
1039
  settings.audio.input.backend.desc = Select the audio input backend.
1038
1040
  settings.audio.input.channels = Channels
@@ -1251,6 +1253,7 @@ settings.section.api_keys.openai = OpenAI
1251
1253
  settings.section.api_keys.perplexity = Perplexity
1252
1254
  settings.section.api_keys.xai = xAI
1253
1255
  settings.section.audio = Audio
1256
+ settings.section.audio.cache = Cache
1254
1257
  settings.section.audio.device = Devices
1255
1258
  settings.section.audio.options = Options
1256
1259
  settings.section.ctx = Context
@@ -1028,6 +1028,8 @@ settings.app.env = Entorno de la aplicación (os.environ)
1028
1028
  settings.app.env.desc = Variables de entorno adicionales para configurar en el inicio de la aplicación
1029
1029
  settings.audio.cache.enabled = Habilitar caché
1030
1030
  settings.audio.cache.enabled.desc = Habilitar caché de audio para la generación de síntesis de voz.
1031
+ settings.audio.cache.max_files = Número máximo de archivos a almacenar
1032
+ settings.audio.cache.max_files.desc = Número máximo de archivos de audio en caché almacenados en el disco
1031
1033
  settings.audio.input.backend = Backend para la entrada de audio
1032
1034
  settings.audio.input.backend.desc = Selecciona el backend para la entrada de audio.
1033
1035
  settings.audio.input.channels = Canaux
@@ -1242,6 +1244,7 @@ settings.section.api_keys.openai = OpenAI
1242
1244
  settings.section.api_keys.perplexity = Perplexity
1243
1245
  settings.section.api_keys.xai = xAI
1244
1246
  settings.section.audio = Audio
1247
+ settings.section.audio.cache = Caché
1245
1248
  settings.section.audio.device = Dispositivos
1246
1249
  settings.section.audio.options = Opciones
1247
1250
  settings.section.ctx = Contexto
@@ -1027,6 +1027,8 @@ settings.app.env = Environnement de l'application (os.environ)
1027
1027
  settings.app.env.desc = Variables d'environnement supplémentaires à définir au démarrage de l'application
1028
1028
  settings.audio.cache.enabled = Activer le cache
1029
1029
  settings.audio.cache.enabled.desc = Activer le cache audio pour la génération de synthèse vocale.
1030
+ settings.audio.cache.max_files = Nombre maximal de fichiers à stocker
1031
+ settings.audio.cache.max_files.desc = Nombre maximal de fichiers audio mis en cache et enregistrés sur le disque
1030
1032
  settings.audio.input.backend = Backend pour l'entrée audio
1031
1033
  settings.audio.input.backend.desc = Sélectionnez le backend pour l'entrée audio.
1032
1034
  settings.audio.input.channels = Canaux
@@ -1241,6 +1243,7 @@ settings.section.api_keys.openai = OpenAI
1241
1243
  settings.section.api_keys.perplexity = Perplexity
1242
1244
  settings.section.api_keys.xai = xAI
1243
1245
  settings.section.audio = Audio
1246
+ settings.section.audio.cache = Cache
1244
1247
  settings.section.audio.device = Appareils
1245
1248
  settings.section.audio.options = Options
1246
1249
  settings.section.ctx = Contexte
@@ -1027,6 +1027,8 @@ settings.app.env = Ambiente dell'applicazione (os.environ)
1027
1027
  settings.app.env.desc = Variabili d'ambiente aggiuntive da impostare all'avvio dell'applicazione
1028
1028
  settings.audio.cache.enabled = Abilita cache
1029
1029
  settings.audio.cache.enabled.desc = Abilita la memorizzazione audio per la generazione della sintesi vocale.
1030
+ settings.audio.cache.max_files = Numero massimo di file da memorizzare
1031
+ settings.audio.cache.max_files.desc = Numero massimo di file audio in cache memorizzati su disco
1030
1032
  settings.audio.input.backend = Backend per l'ingresso audio
1031
1033
  settings.audio.input.backend.desc = Seleziona il backend per l'ingresso audio.
1032
1034
  settings.audio.input.channels = Canali
@@ -1241,6 +1243,7 @@ settings.section.api_keys.openai = OpenAI
1241
1243
  settings.section.api_keys.perplexity = Perplexity
1242
1244
  settings.section.api_keys.xai = xAI
1243
1245
  settings.section.audio = Audio
1246
+ settings.section.audio.cache = Cache
1244
1247
  settings.section.audio.device = Dispositivi
1245
1248
  settings.section.audio.options = Opzioni
1246
1249
  settings.section.ctx = Contesto
@@ -1028,7 +1028,9 @@ settings.api_use_responses_llama.desc = Używaj Responses API zamiast ChatComple
1028
1028
  settings.app.env = Środowisko aplikacji (os.environ)
1029
1029
  settings.app.env.desc = Dodatkowe zmienne środowiskowe do ustawienia przy starcie aplikacji
1030
1030
  settings.audio.cache.enabled = Włącz pamięć podręczną
1031
- settings.audio.cache.enabled.desc = Włącz buforowanie audio dla generowania syntezy mowy.
1031
+ settings.audio.cache.enabled.desc = Włącz buforowanie audio dla generowania syntezy mowy.
1032
+ settings.audio.cache.max_files = Maksymalna liczba plików
1033
+ settings.audio.cache.max_files.desc = Maksymalna liczba plików audio w pamięci podręcznej zapisywanych na dysku
1032
1034
  settings.audio.input.backend = Backend dla wejścia audio
1033
1035
  settings.audio.input.backend.desc = Wybierz backend dla wejścia audio.
1034
1036
  settings.audio.input.channels = Kanały
@@ -1243,6 +1245,7 @@ settings.section.api_keys.openai = OpenAI
1243
1245
  settings.section.api_keys.perplexity = Perplexity
1244
1246
  settings.section.api_keys.xai = xAI
1245
1247
  settings.section.audio = Audio
1248
+ settings.section.audio.cache = Pamięć podręczna
1246
1249
  settings.section.audio.device = Urządzenia
1247
1250
  settings.section.audio.options = Opcje
1248
1251
  settings.section.ctx = Kontekst
@@ -1027,6 +1027,8 @@ settings.app.env = Оточення додатка (os.environ)
1027
1027
  settings.app.env.desc = Додаткові змінні середовища для встановлення при запуску додатка
1028
1028
  settings.audio.cache.enabled = Увімкнути кеш
1029
1029
  settings.audio.cache.enabled.desc = Увімкнути кешування аудіо для генерації синтезу мови.
1030
+ settings.audio.cache.max_files = Максимальна кількість файлів для збереження
1031
+ settings.audio.cache.max_files.desc = Максимальна кількість кешованих аудіофайлів, збережених на диску
1030
1032
  settings.audio.input.backend = Бекенд для аудіовходу
1031
1033
  settings.audio.input.backend.desc = Виберіть бекенд для аудіовходу.
1032
1034
  settings.audio.input.channels = Канали
@@ -1241,6 +1243,7 @@ settings.section.api_keys.openai = OpenAI
1241
1243
  settings.section.api_keys.perplexity = Perplexity
1242
1244
  settings.section.api_keys.xai = xAI
1243
1245
  settings.section.audio = Аудіо
1246
+ settings.section.audio.cache = Кеш
1244
1247
  settings.section.audio.device = Пристрої
1245
1248
  settings.section.audio.options = Параметри
1246
1249
  settings.section.ctx = Контекст
@@ -1027,6 +1027,8 @@ settings.app.env = 应用程序环境 (os.environ)
1027
1027
  settings.app.env.desc = 在应用程序启动时要设置的额外环境变量
1028
1028
  settings.audio.cache.enabled = 启用缓存
1029
1029
  settings.audio.cache.enabled.desc = 启用音频缓存以进行语音合成生成。
1030
+ settings.audio.cache.max_files = 要存储的最大文件数
1031
+ settings.audio.cache.max_files.desc = 缓存到磁盘的最大音频文件数
1030
1032
  settings.audio.input.backend = 音频输入的后端
1031
1033
  settings.audio.input.backend.desc = 选择音频输入的后端。
1032
1034
  settings.audio.input.channels = 声道
@@ -1241,6 +1243,7 @@ settings.section.api_keys.openai = OpenAI
1241
1243
  settings.section.api_keys.perplexity = Perplexity
1242
1244
  settings.section.api_keys.xai = xAI
1243
1245
  settings.section.audio = 音频
1246
+ settings.section.audio.cache = 缓存
1244
1247
  settings.section.audio.device = 设备
1245
1248
  settings.section.audio.options = 选项
1246
1249
  settings.section.ctx = 上下文
@@ -178,16 +178,21 @@ class Plugin(BasePlugin):
178
178
 
179
179
  # cache ctx
180
180
  cache_enabled = self.window.core.config.get("audio.cache.enabled", False)
181
- if cache_enabled and not cache_file:
182
- # gen cache file path if exists
183
- tmp_cache_file, is_cached = self.window.core.audio.prepare_cache_path(text)
184
- if is_cached:
185
- event = Event(Event.AUDIO_PLAYBACK, ctx=ctx)
186
- event.data = {"audio_file": tmp_cache_file}
187
- return self.on_playback(ctx, event) # playback cached audio file
188
- else:
189
- if tmp_cache_file:
190
- cache_file = tmp_cache_file # store cache file
181
+ max_files = int(self.window.core.config.get("audio.cache.max_files", 10))
182
+ if cache_enabled:
183
+ # delete old if max
184
+ if max_files > 0:
185
+ self.window.core.audio.delete_old_cache(max_files)
186
+ if not cache_file:
187
+ # gen cache file path if exists
188
+ tmp_cache_file, is_cached = self.window.core.audio.prepare_cache_path(text)
189
+ if is_cached:
190
+ event = Event(Event.AUDIO_PLAYBACK, ctx=ctx)
191
+ event.data = {"audio_file": tmp_cache_file}
192
+ return self.on_playback(ctx, event) # playback cached audio file
193
+ else:
194
+ if tmp_cache_file:
195
+ cache_file = tmp_cache_file # store cache file
191
196
 
192
197
  try:
193
198
  if text is not None and len(text) > 0:
@@ -2189,6 +2189,14 @@ class Patch:
2189
2189
  print("Migrating config from < 2.5.91...")
2190
2190
  if "audio.cache.enabled" not in data:
2191
2191
  data["audio.cache.enabled"] = True
2192
+ updated = True
2193
+
2194
+ # < 2.5.92
2195
+ if old < parse_version("2.5.92"):
2196
+ print("Migrating config from < 2.5.92...")
2197
+ if "audio.cache.max_files" not in data:
2198
+ data["audio.cache.max_files"] = 1000
2199
+ updated = True
2192
2200
 
2193
2201
  # update file
2194
2202
  migrated = False
@@ -719,6 +719,7 @@ class Patch:
719
719
  data["gpt-5-mini"] = base_data["gpt-5-mini"]
720
720
  if "gpt-5-nano" not in data:
721
721
  data["gpt-5-nano"] = base_data["gpt-5-nano"]
722
+ updated = True
722
723
 
723
724
  # update file
724
725
  if updated:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pygpt-net
3
- Version: 2.5.91
3
+ Version: 2.5.92
4
4
  Summary: Desktop AI Assistant powered by: OpenAI GPT-5, o1, o3, GPT-4, Gemini, Claude, Grok, DeepSeek, and other models supported by Llama Index, and Ollama. Chatbot, agents, completion, image generation, vision analysis, speech-to-text, plugins, internet access, file handling, command execution and more.
5
5
  License: MIT
6
6
  Keywords: py_gpt,py-gpt,pygpt,desktop,app,o1,o3,gpt-5,gpt,gpt4,gpt-4o,gpt-4v,gpt3.5,gpt-4,gpt-4-vision,gpt-3.5,llama3,mistral,gemini,grok,deepseek,bielik,claude,tts,whisper,vision,chatgpt,dall-e,chat,chatbot,assistant,text completion,image generation,ai,api,openai,api key,langchain,llama-index,ollama,presets,ui,qt,pyside
@@ -104,7 +104,7 @@ Description-Content-Type: text/markdown
104
104
 
105
105
  [![pygpt](https://snapcraft.io/pygpt/badge.svg)](https://snapcraft.io/pygpt)
106
106
 
107
- Release: **2.5.91** | build: **2025-08-08** | Python: **>=3.10, <3.14**
107
+ Release: **2.5.92** | build: **2025-08-08** | Python: **>=3.10, <3.14**
108
108
 
109
109
  > Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
110
110
  >
@@ -3295,6 +3295,10 @@ Enable/disable remote tools, like Web Search or Image generation to use in OpenA
3295
3295
 
3296
3296
  - `Sampling Rate`: Sampling rate, default: 44100
3297
3297
 
3298
+ - `Use cache`: Use cache for generating audio files.
3299
+
3300
+ - `Max files to store`: Max files to store on disk for audio cache.
3301
+
3298
3302
  **Indexes / LlamaIndex**
3299
3303
 
3300
3304
  **General**
@@ -4354,6 +4358,10 @@ may consume additional tokens that are not displayed in the main window.
4354
4358
 
4355
4359
  ## Recent changes:
4356
4360
 
4361
+ **2.5.92 (2025-08-08)**
4362
+
4363
+ - Added max files to store config option in Audio -> Cache.
4364
+
4357
4365
  **2.5.91 (2025-08-08)**
4358
4366
 
4359
4367
  - Added GPT-5.
@@ -1,6 +1,6 @@
1
- pygpt_net/CHANGELOG.txt,sha256=9ANbEXERtUxevOsiw08azoP6W8oO0xlERb5-e1du1Bc,96709
1
+ pygpt_net/CHANGELOG.txt,sha256=G4RISl9r-SJc1bsRAgeoUyUMokGlp1urYmOyeC_jzIE,96791
2
2
  pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
3
- pygpt_net/__init__.py,sha256=OuN7cvGjSZz5OQJqy-i32WHZRHyb1FJMgxvw3_bzV3o,1373
3
+ pygpt_net/__init__.py,sha256=At2kiZ5ezKyU9mHK_GDNkheHFgl3buN3__yfacOt_EY,1373
4
4
  pygpt_net/app.py,sha256=86COG6F-sC9dIRURMjBPS4fkD3Zzrp5kwCFQuM4tikc,18971
5
5
  pygpt_net/config.py,sha256=FxN39zmTpOY84lgrfhfIDuxKmNPrePhNHdGxvEOKqK8,16881
6
6
  pygpt_net/container.py,sha256=4puHeSNIyj3q6gTjPLsQKE1U-4fAhoNANYKiDq-mTqA,4054
@@ -168,7 +168,7 @@ pygpt_net/core/attachments/attachments.py,sha256=bUqvfPqlpdXiGf3GvS1kTE45A0Q1Eo3
168
168
  pygpt_net/core/attachments/context.py,sha256=S67zDh4lD9_stmeeh1ZGNv3IMt_6_IMGxq-3Jqn9kMs,25119
169
169
  pygpt_net/core/attachments/worker.py,sha256=Yt6DU2Yr7-FPTPTdlj8vDzT46pcKcvZoatiZybY6YEo,1685
170
170
  pygpt_net/core/audio/__init__.py,sha256=SNShKpjqXzLhaSKxWiM8b6lasHRkrdSZ8ck-X7RJ-VY,509
171
- pygpt_net/core/audio/audio.py,sha256=ixk5TTYJuMdSAJjUJXOw9SfS3cJ91ryrh0ODbJpXzRU,7026
171
+ pygpt_net/core/audio/audio.py,sha256=_WaS1JHT9S3BqmzEc7bOcWwMfth6ueMJQVs13jzoy4c,7709
172
172
  pygpt_net/core/audio/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
173
  pygpt_net/core/audio/backend/native.py,sha256=HfkuK281CByBGQgxv343mRC-pyyxWfZrhYfcYTTEYOg,22117
174
174
  pygpt_net/core/audio/backend/pyaudio.py,sha256=iVpkr-82OldSY_9Zar9U7hMiiBcy9kZso4h8Xcvo9pA,18487
@@ -340,8 +340,8 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
340
340
  pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
341
341
  pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
342
342
  pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
343
- pygpt_net/data/config/config.json,sha256=RCT7BWiElgnQY_HIitZCleX9VTCdt_JwQO8GjtTnxiI,24717
344
- pygpt_net/data/config/models.json,sha256=Rk-NWq2_IG2PJ8TsfV1SStvLDk-0AOXUgF-BDC8r2GM,109127
343
+ pygpt_net/data/config/config.json,sha256=-lndyyNRWW_Ahdr3KSmaehRc6f7kgJ2FSELQ7IMtNx4,24750
344
+ pygpt_net/data/config/models.json,sha256=avI6jlTtphXMgA7U29aIY25srKvttoTC_Fzw3InCqwM,109127
345
345
  pygpt_net/data/config/modes.json,sha256=M882iiqX_R2sNQl9cqZ3k-uneEvO9wpARtHRMLx_LHw,2265
346
346
  pygpt_net/data/config/presets/agent_code_act.json,sha256=GYHqhxtKFLUCvRI3IJAJ7Qe1k8yD9wGGNwManldWzlI,754
347
347
  pygpt_net/data/config/presets/agent_openai.json,sha256=vMTR-soRBiEZrpJJHuFLWyx8a3Ez_BqtqjyXgxCAM_Q,733
@@ -374,7 +374,7 @@ pygpt_net/data/config/presets/current.vision.json,sha256=x1ll5B3ROSKYQA6l27PRGXU
374
374
  pygpt_net/data/config/presets/dalle_white_cat.json,sha256=esqUb43cqY8dAo7B5u99tRC0MBV5lmlrVLnJhTSkL8w,552
375
375
  pygpt_net/data/config/presets/joke_agent.json,sha256=R6n9P7KRb0s-vZWZE7kHdlOfXAx1yYrPmUw8uLyw8OE,474
376
376
  pygpt_net/data/config/presets/joke_expert.json,sha256=jjcoIYEOaEp8kLoIbecxQROiq4J3Zess5w8_HmngPOY,671
377
- pygpt_net/data/config/settings.json,sha256=AxhouwQTECfOgnR4I2MRxUJh7vGaJZuGU_A5YJgXO98,64475
377
+ pygpt_net/data/config/settings.json,sha256=9QTRQDJMijDtQPBYeXB5MDjMFMbdXOKsNFU820i6QS0,64821
378
378
  pygpt_net/data/config/settings_section.json,sha256=Ng6kgmgxVmvt-KYFIqZvIDAEK4DfISNjNVF55DFWNjs,1082
379
379
  pygpt_net/data/css/fix_windows.css,sha256=Mks14Vg25ncbMqZJfAMStrhvZmgHF6kU75ohTWRZeI8,664
380
380
  pygpt_net/data/css/fix_windows.dark.css,sha256=7hGbT_qI5tphYC_WlFpJRDAcmjBb0AQ2Yc-y-_Zzf2M,161
@@ -1597,14 +1597,14 @@ pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff,sha256=4U_tArGrp86fW
1597
1597
  pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff2,sha256=cdUX1ngneHz6vfGGkUzDNY7aU543kxlB8rL9SiH2jAs,13568
1598
1598
  pygpt_net/data/js/katex/katex.min.css,sha256=lVaKnUaQNG4pI71WHffQZVALLQF4LMZEk4nOia8U9ow,23532
1599
1599
  pygpt_net/data/js/katex/katex.min.js,sha256=KLASOtKS2x8pUxWVzCDmlWJ4jhuLb0vtrgakbD6gDDo,276757
1600
- pygpt_net/data/locale/locale.de.ini,sha256=o-aigNpqS9nRhs9Ijuysvz9sHzCNSzMHbggyHOL6nxw,95081
1601
- pygpt_net/data/locale/locale.en.ini,sha256=j-1JMT9x9xTh45Py7pqLkx9ZbArmxHwehc3O71pgjlw,86282
1602
- pygpt_net/data/locale/locale.es.ini,sha256=Vzr2FYLVmaKgb5SOaAO4upwp0G_xr1NZT-Mmu7zT_iM,95844
1603
- pygpt_net/data/locale/locale.fr.ini,sha256=DympDMO17bIV7eeUGVFUSATDw5tOQ_V_NzkXVfnKUn8,98289
1604
- pygpt_net/data/locale/locale.it.ini,sha256=NDF1GL47nUOBJn5p8ztzb9ZboeiiKrKW4Stj89iJoyc,93685
1605
- pygpt_net/data/locale/locale.pl.ini,sha256=HslUji-2lF938SKg2yug5xy4XNyhp3W_5fc2Os9J_F4,93412
1606
- pygpt_net/data/locale/locale.uk.ini,sha256=WNU04ZIhVa_gtwSTogKEqTGM7TUkbiMa4Gew3Z5vrCs,129822
1607
- pygpt_net/data/locale/locale.zh.ini,sha256=TiZB4WGc2vHl87FDKa4iWRFsK-wPPYwgkzubHIewq_4,83632
1600
+ pygpt_net/data/locale/locale.de.ini,sha256=ZpYsSFQk-0-XHUGjJSjOd8g6Y49MbJYo89xmulHwg4A,95311
1601
+ pygpt_net/data/locale/locale.en.ini,sha256=QWHYX0HTzRua3HXDHi7uyCFLv1M9xBd8QOG7SS8r9bU,86457
1602
+ pygpt_net/data/locale/locale.es.ini,sha256=JTh5fcDTBd4l3RYe2PuiW9sRniq-Nux6oHPD3dfTGfo,96064
1603
+ pygpt_net/data/locale/locale.fr.ini,sha256=gOpc07xXNOzkKgMEmhCYnU4Zef4FOuDXBNZF920FKME,98511
1604
+ pygpt_net/data/locale/locale.it.ini,sha256=eU5uJ8rAvPB8VWTaWmKosO6CK028pN4MXrDaS5l93Sk,93890
1605
+ pygpt_net/data/locale/locale.pl.ini,sha256=1OoPSQnak3PTEndaxnmNHQeyzdNEarbz5gxwM-GIJmY,93640
1606
+ pygpt_net/data/locale/locale.uk.ini,sha256=FIbXUrfl6yuMf77mS5hz5wG60gB31CdQA6z7KA_yuXk,130136
1607
+ pygpt_net/data/locale/locale.zh.ini,sha256=Ns_BD1pj7nAmEzuSJiskHsrGOg3UdNw3DOr-s7ZGv3I,83809
1608
1608
  pygpt_net/data/locale/plugin.agent.de.ini,sha256=BY28KpfFvgfVYJzcw2o5ScWnR4uuErIYGyc3NVHlmTw,1714
1609
1609
  pygpt_net/data/locale/plugin.agent.en.ini,sha256=HwOWCI7e8uzlIgyRWRVyr1x6Xzs8Xjv5pfEc7jfLOo4,1728
1610
1610
  pygpt_net/data/locale/plugin.agent.es.ini,sha256=bqaJQne8HPKFVtZ8Ukzo1TSqVW41yhYbGUqW3j2x1p8,1680
@@ -1829,7 +1829,7 @@ pygpt_net/plugin/audio_input/simple.py,sha256=rSqczTMzNbmMNNWGbt9j2M837szWRJpa_1
1829
1829
  pygpt_net/plugin/audio_input/worker.py,sha256=-VmSUfsFl--95G9aHKOm9LqDw6F9-8HHS7ckAzcBW6A,12157
1830
1830
  pygpt_net/plugin/audio_output/__init__.py,sha256=UglI8YPtzF_-buENrR0vqDuvzlK3CJdIXKx-iaJozZM,510
1831
1831
  pygpt_net/plugin/audio_output/config.py,sha256=IA2K-9fQMZSwYGyi30Uh5qAlYwuqwaHo3dtDJ13vQdo,1208
1832
- pygpt_net/plugin/audio_output/plugin.py,sha256=i9HnNNu0FZo5MMEVIZ9OzH-AZADjJRSiPqj_vFqMbxE,10017
1832
+ pygpt_net/plugin/audio_output/plugin.py,sha256=tncu3gPVVYZYF173ggnytuEh1AKDnUMUAlPDvZvu41Y,10276
1833
1833
  pygpt_net/plugin/audio_output/worker.py,sha256=XhkY0uYlx1UIuAeWB3CA9MLvvDxI870E0iKJ0O2Lx10,3718
1834
1834
  pygpt_net/plugin/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1835
1835
  pygpt_net/plugin/base/config.py,sha256=q5WAcF-h3KZH4bJFYANasM7UmV1v1c43fF1EZ05iF7Y,848
@@ -1985,7 +1985,7 @@ pygpt_net/provider/core/calendar/db_sqlite/storage.py,sha256=QDclQCQdr4QyRIqjgGX
1985
1985
  pygpt_net/provider/core/config/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
1986
1986
  pygpt_net/provider/core/config/base.py,sha256=cbvzbMNqL2XgC-36gGubnU37t94AX7LEw0lecb2Nm80,1365
1987
1987
  pygpt_net/provider/core/config/json_file.py,sha256=GCcpCRQnBiSLWwlGbG9T3ZgiHkTfp5Jsg2KYkZcakBw,6789
1988
- pygpt_net/provider/core/config/patch.py,sha256=nqLgvdSJUiKiBx2CYxqYptYhvp4ZCMBC_dVFqKHSlAc,115411
1988
+ pygpt_net/provider/core/config/patch.py,sha256=xpTeLYRky7k77RtWD7XOhsEbWSoHKWXEps9FSjlDC7k,115715
1989
1989
  pygpt_net/provider/core/ctx/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
1990
1990
  pygpt_net/provider/core/ctx/base.py,sha256=Tfb4MDNe9BXXPU3lbzpdYwJF9S1oa2-mzgu5XT4It9g,3003
1991
1991
  pygpt_net/provider/core/ctx/db_sqlite/__init__.py,sha256=0dP8VhI4bnFsQQKxAkaleKFlyaMycDD_cnE7gBCa57Y,512
@@ -2014,7 +2014,7 @@ pygpt_net/provider/core/mode/patch.py,sha256=VS2KCYW05jxLd-lcStNY1k4fHKUUrVVLTdR
2014
2014
  pygpt_net/provider/core/model/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
2015
2015
  pygpt_net/provider/core/model/base.py,sha256=L1x2rHha8a8hnCUYxZr88utay1EWEx5qBXW_2acpAN0,1319
2016
2016
  pygpt_net/provider/core/model/json_file.py,sha256=l74l_n5PEHNp-FsoHtO9LHflz3RFKwDwKwOKN0stgZw,8418
2017
- pygpt_net/provider/core/model/patch.py,sha256=wZ9-bA6SR8I-AzVIDU5PbfnbxNtVJkmJI_Di3CRW36M,33630
2017
+ pygpt_net/provider/core/model/patch.py,sha256=O_i0f0ixxObgMaZOZwBwF6hzRmZeujKHP07qBkTpeGQ,33661
2018
2018
  pygpt_net/provider/core/notepad/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
2019
2019
  pygpt_net/provider/core/notepad/base.py,sha256=7aPhild8cALTaN3JEbI0YrkIW1DRIycGQWTfsdH6WcQ,1323
2020
2020
  pygpt_net/provider/core/notepad/db_sqlite/__init__.py,sha256=0dP8VhI4bnFsQQKxAkaleKFlyaMycDD_cnE7gBCa57Y,512
@@ -2379,8 +2379,8 @@ pygpt_net/ui/widget/textarea/web.py,sha256=7VTiA1LwWSUmbJ7r1uhKV-RFndOfNC_r_EAJi
2379
2379
  pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2380
2380
  pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
2381
2381
  pygpt_net/utils.py,sha256=mQ_9Esbs2htAw82tPG5rzST8IZwXFwO2eLPsHRTCMJ4,6936
2382
- pygpt_net-2.5.91.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
2383
- pygpt_net-2.5.91.dist-info/METADATA,sha256=Trc4KIWKpIV2SZ9fFZXeviWtgtIYGpxgl3FSw-X5kQA,182753
2384
- pygpt_net-2.5.91.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
2385
- pygpt_net-2.5.91.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2386
- pygpt_net-2.5.91.dist-info/RECORD,,
2382
+ pygpt_net-2.5.92.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
2383
+ pygpt_net-2.5.92.dist-info/METADATA,sha256=cVNv0QesYPCO_rSvTPxFcQXMVw33rAayvRC2Tt8lqoo,182962
2384
+ pygpt_net-2.5.92.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
2385
+ pygpt_net-2.5.92.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2386
+ pygpt_net-2.5.92.dist-info/RECORD,,