pygpt-net 2.6.30__py3-none-any.whl → 2.6.31__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 (101) hide show
  1. pygpt_net/CHANGELOG.txt +8 -0
  2. pygpt_net/__init__.py +3 -3
  3. pygpt_net/app.py +4 -0
  4. pygpt_net/controller/__init__.py +5 -2
  5. pygpt_net/controller/audio/audio.py +25 -1
  6. pygpt_net/controller/audio/ui.py +2 -2
  7. pygpt_net/controller/chat/audio.py +1 -8
  8. pygpt_net/controller/chat/common.py +29 -3
  9. pygpt_net/controller/chat/handler/__init__.py +0 -0
  10. pygpt_net/controller/chat/handler/stream_worker.py +1124 -0
  11. pygpt_net/controller/chat/output.py +8 -3
  12. pygpt_net/controller/chat/stream.py +3 -1071
  13. pygpt_net/controller/chat/text.py +3 -2
  14. pygpt_net/controller/kernel/kernel.py +11 -3
  15. pygpt_net/controller/kernel/reply.py +5 -1
  16. pygpt_net/controller/realtime/__init__.py +12 -0
  17. pygpt_net/controller/realtime/manager.py +53 -0
  18. pygpt_net/controller/realtime/realtime.py +268 -0
  19. pygpt_net/controller/ui/mode.py +7 -0
  20. pygpt_net/controller/ui/ui.py +19 -1
  21. pygpt_net/core/audio/audio.py +6 -1
  22. pygpt_net/core/audio/backend/native/__init__.py +12 -0
  23. pygpt_net/core/audio/backend/{native.py → native/native.py} +426 -127
  24. pygpt_net/core/audio/backend/native/player.py +139 -0
  25. pygpt_net/core/audio/backend/native/realtime.py +250 -0
  26. pygpt_net/core/audio/backend/pyaudio/__init__.py +12 -0
  27. pygpt_net/core/audio/backend/pyaudio/playback.py +194 -0
  28. pygpt_net/core/audio/backend/pyaudio/pyaudio.py +923 -0
  29. pygpt_net/core/audio/backend/pyaudio/realtime.py +275 -0
  30. pygpt_net/core/audio/backend/pygame/__init__.py +12 -0
  31. pygpt_net/core/audio/backend/{pygame.py → pygame/pygame.py} +130 -19
  32. pygpt_net/core/audio/backend/shared/__init__.py +38 -0
  33. pygpt_net/core/audio/backend/shared/conversions.py +211 -0
  34. pygpt_net/core/audio/backend/shared/envelope.py +38 -0
  35. pygpt_net/core/audio/backend/shared/player.py +137 -0
  36. pygpt_net/core/audio/backend/shared/rt.py +52 -0
  37. pygpt_net/core/audio/capture.py +5 -0
  38. pygpt_net/core/audio/output.py +13 -2
  39. pygpt_net/core/audio/whisper.py +6 -2
  40. pygpt_net/core/bridge/bridge.py +2 -1
  41. pygpt_net/core/bridge/worker.py +4 -1
  42. pygpt_net/core/dispatcher/dispatcher.py +37 -1
  43. pygpt_net/core/events/__init__.py +2 -1
  44. pygpt_net/core/events/realtime.py +55 -0
  45. pygpt_net/core/image/image.py +51 -1
  46. pygpt_net/core/realtime/__init__.py +0 -0
  47. pygpt_net/core/realtime/options.py +87 -0
  48. pygpt_net/core/realtime/shared/__init__.py +0 -0
  49. pygpt_net/core/realtime/shared/audio.py +213 -0
  50. pygpt_net/core/realtime/shared/loop.py +64 -0
  51. pygpt_net/core/realtime/shared/session.py +59 -0
  52. pygpt_net/core/realtime/shared/text.py +37 -0
  53. pygpt_net/core/realtime/shared/tools.py +276 -0
  54. pygpt_net/core/realtime/shared/turn.py +38 -0
  55. pygpt_net/core/realtime/shared/types.py +16 -0
  56. pygpt_net/core/realtime/worker.py +164 -0
  57. pygpt_net/core/types/__init__.py +1 -0
  58. pygpt_net/core/types/image.py +48 -0
  59. pygpt_net/data/config/config.json +10 -4
  60. pygpt_net/data/config/models.json +149 -103
  61. pygpt_net/data/config/settings.json +50 -0
  62. pygpt_net/data/locale/locale.de.ini +5 -5
  63. pygpt_net/data/locale/locale.en.ini +19 -13
  64. pygpt_net/data/locale/locale.es.ini +5 -5
  65. pygpt_net/data/locale/locale.fr.ini +5 -5
  66. pygpt_net/data/locale/locale.it.ini +5 -5
  67. pygpt_net/data/locale/locale.pl.ini +5 -5
  68. pygpt_net/data/locale/locale.uk.ini +5 -5
  69. pygpt_net/data/locale/locale.zh.ini +1 -1
  70. pygpt_net/data/locale/plugin.audio_input.en.ini +4 -0
  71. pygpt_net/data/locale/plugin.audio_output.en.ini +4 -0
  72. pygpt_net/plugin/audio_input/plugin.py +37 -4
  73. pygpt_net/plugin/audio_input/simple.py +57 -8
  74. pygpt_net/plugin/cmd_files/worker.py +3 -0
  75. pygpt_net/provider/api/google/__init__.py +39 -6
  76. pygpt_net/provider/api/google/audio.py +8 -1
  77. pygpt_net/provider/api/google/chat.py +45 -6
  78. pygpt_net/provider/api/google/image.py +226 -86
  79. pygpt_net/provider/api/google/realtime/__init__.py +12 -0
  80. pygpt_net/provider/api/google/realtime/client.py +1945 -0
  81. pygpt_net/provider/api/google/realtime/realtime.py +186 -0
  82. pygpt_net/provider/api/openai/__init__.py +22 -2
  83. pygpt_net/provider/api/openai/realtime/__init__.py +12 -0
  84. pygpt_net/provider/api/openai/realtime/client.py +1828 -0
  85. pygpt_net/provider/api/openai/realtime/realtime.py +194 -0
  86. pygpt_net/provider/audio_input/google_genai.py +103 -0
  87. pygpt_net/provider/audio_output/google_genai_tts.py +229 -0
  88. pygpt_net/provider/audio_output/google_tts.py +0 -12
  89. pygpt_net/provider/audio_output/openai_tts.py +8 -5
  90. pygpt_net/provider/core/config/patch.py +15 -0
  91. pygpt_net/provider/core/model/patch.py +11 -0
  92. pygpt_net/provider/llms/google.py +8 -9
  93. pygpt_net/ui/layout/toolbox/footer.py +16 -0
  94. pygpt_net/ui/layout/toolbox/image.py +5 -0
  95. pygpt_net/ui/widget/option/combo.py +15 -1
  96. {pygpt_net-2.6.30.dist-info → pygpt_net-2.6.31.dist-info}/METADATA +26 -14
  97. {pygpt_net-2.6.30.dist-info → pygpt_net-2.6.31.dist-info}/RECORD +100 -62
  98. pygpt_net/core/audio/backend/pyaudio.py +0 -554
  99. {pygpt_net-2.6.30.dist-info → pygpt_net-2.6.31.dist-info}/LICENSE +0 -0
  100. {pygpt_net-2.6.30.dist-info → pygpt_net-2.6.31.dist-info}/WHEEL +0 -0
  101. {pygpt_net-2.6.30.dist-info → pygpt_net-2.6.31.dist-info}/entry_points.txt +0 -0
@@ -11,6 +11,7 @@
11
11
 
12
12
  from PySide6.QtWidgets import QVBoxLayout, QLabel, QHBoxLayout, QWidget, QCheckBox
13
13
 
14
+ from pygpt_net.ui.widget.option.combo import OptionCombo
14
15
  from pygpt_net.ui.widget.option.slider import OptionSlider
15
16
  from pygpt_net.utils import trans
16
17
 
@@ -55,6 +56,9 @@ class Image:
55
56
  conf_global['img_raw'] = QCheckBox(trans("img.raw"), parent=container)
56
57
  conf_global['img_raw'].toggled.connect(self.window.controller.chat.common.img_toggle_raw)
57
58
 
59
+ option_resolutions = self.window.core.image.get_resolution_option()
60
+ conf_global['img_resolution'] = OptionCombo(self.window, 'global', 'img_resolution', option_resolutions)
61
+
58
62
  cols = QHBoxLayout()
59
63
  cols.addWidget(conf_global['img_raw'])
60
64
  cols.addWidget(conf_global['img_variants'])
@@ -62,6 +66,7 @@ class Image:
62
66
  rows = QVBoxLayout()
63
67
  rows.addWidget(ui.nodes['img_variants.label'])
64
68
  rows.addLayout(cols)
69
+ rows.addWidget(conf_global['img_resolution'])
65
70
  rows.setContentsMargins(2, 5, 5, 5)
66
71
 
67
72
  container.setLayout(rows)
@@ -79,6 +79,7 @@ class OptionCombo(QWidget):
79
79
  self.combo = NoScrollCombo()
80
80
  self.combo.currentIndexChanged.connect(self.on_combo_change)
81
81
  self.current_id = None
82
+ self.locked = False
82
83
 
83
84
  # add items
84
85
  self.update()
@@ -114,6 +115,12 @@ class OptionCombo(QWidget):
114
115
  self.combo.addItem(value, key)
115
116
  else:
116
117
  self.combo.addItem(item, item)
118
+ elif type(self.keys) is dict:
119
+ for key, value in self.keys.items():
120
+ if key.startswith("separator::"):
121
+ self.combo.addSeparator(value)
122
+ else:
123
+ self.combo.addItem(value, key)
117
124
 
118
125
  def set_value(self, value):
119
126
  """
@@ -135,16 +142,21 @@ class OptionCombo(QWidget):
135
142
  """
136
143
  return self.current_id
137
144
 
138
- def set_keys(self, keys):
145
+ def set_keys(self, keys, lock: bool = False):
139
146
  """
140
147
  Set keys
141
148
 
142
149
  :param keys: keys
150
+ :param lock: lock current value if True
143
151
  """
152
+ if lock:
153
+ self.locked = True # lock on_change
144
154
  self.keys = keys
145
155
  self.option["keys"] = keys
146
156
  self.combo.clear()
147
157
  self.update()
158
+ if lock:
159
+ self.locked = False
148
160
 
149
161
  def on_combo_change(self, index):
150
162
  """
@@ -153,6 +165,8 @@ class OptionCombo(QWidget):
153
165
  :param index: combo index
154
166
  :return:
155
167
  """
168
+ if self.locked:
169
+ return
156
170
  self.current_id = self.combo.itemData(index)
157
171
  self.window.controller.config.combo.on_update(self.parent_id, self.id, self.option, self.current_id)
158
172
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pygpt-net
3
- Version: 2.6.30
3
+ Version: 2.6.31
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, 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
@@ -117,7 +117,7 @@ Description-Content-Type: text/markdown
117
117
 
118
118
  [![pygpt](https://snapcraft.io/pygpt/badge.svg)](https://snapcraft.io/pygpt)
119
119
 
120
- Release: **2.6.30** | build: **2025-08-29** | Python: **>=3.10, <3.14**
120
+ Release: **2.6.31** | build: **2025-09-01** | Python: **>=3.10, <3.14**
121
121
 
122
122
  > Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
123
123
  >
@@ -157,7 +157,7 @@ You can download compiled 64-bit versions for Windows and Linux here: https://py
157
157
 
158
158
  - Desktop AI Assistant for `Linux`, `Windows` and `Mac`, written in Python.
159
159
  - Works similarly to `ChatGPT`, but locally (on a desktop computer).
160
- - 11 modes of operation: Chat, Chat with Files, Chat with Audio, Research (Perplexity), Completion, Image generation, Assistants, Experts, Computer use, Agents and Autonomous Mode.
160
+ - 11 modes of operation: Chat, Chat with Files, Realtime + audio, Research (Perplexity), Completion, Image generation, Assistants, Experts, Computer use, Agents and Autonomous Mode.
161
161
  - Supports multiple models like `OpenAI GPT-5`, `GPT-4`, `o1`, `o3`, `o4`, `Google Gemini`, `Anthropic Claude`, `xAI Grok`, `DeepSeek V3/R1`, `Perplexity / Sonar`, and any model accessible through `LlamaIndex` and `Ollama` such as `DeepSeek`, `gpt-oss`, `Llama 3`, `Mistral`, `Bielik`, etc.
162
162
  - Chat with your own Files: integrated `LlamaIndex` support: chat with data such as: `txt`, `pdf`, `csv`, `html`, `md`, `docx`, `json`, `epub`, `xlsx`, `xml`, webpages, `Google`, `GitHub`, video/audio, images and other data types, or use conversation history as additional context provided to the model.
163
163
  - Built-in vector databases support and automated files and data embedding.
@@ -662,11 +662,11 @@ In the `Settings -> LlamaIndex -> Data loaders` section you can define the addit
662
662
 
663
663
  ## Chat with Audio
664
664
 
665
- This mode works like the Chat mode but with native support for audio input and output using a multimodal model - `gpt-4o-audio`. In this mode, audio input and output are directed to and from the model directly, without the use of external plugins. This enables faster and better audio communication.
665
+ This mode works like the Chat mode but with native support for audio input and output using a Realtime and Live APIs. In this mode, audio input and output are directed to and from the model directly, without the use of external plugins. This enables faster and better audio communication.
666
666
 
667
- More info: https://platform.openai.com/docs/guides/audio/quickstart
667
+ Currently, in beta.
668
668
 
669
- Currently, in beta. Tool and function calls are not enabled in this mode.
669
+ At this moment, only OpenAI real-time models (via the Realtime API) and Google Gemini real-time models (via the Live API) are supported.
670
670
 
671
671
  ## Research
672
672
 
@@ -1148,7 +1148,7 @@ The name of the currently active profile is shown as (Profile Name) in the windo
1148
1148
 
1149
1149
  ## Built-in models
1150
1150
 
1151
- PyGPT has a preconfigured list of models (as of 2025-07-26):
1151
+ PyGPT has a preconfigured list of models (as of 2025-08-31):
1152
1152
 
1153
1153
  - `bielik-11b-v2.3-instruct:Q4_K_M` (Ollama)
1154
1154
  - `chatgpt-4o-latest` (OpenAI)
@@ -1172,6 +1172,7 @@ PyGPT has a preconfigured list of models (as of 2025-07-26):
1172
1172
  - `gemini-1.5-pro` (Google)
1173
1173
  - `gemini-2.0-flash-exp` (Google)
1174
1174
  - `gemini-2.5-flash` (Google)
1175
+ - `gemini-2.5-flash-preview-native-audio-dialog` (Google, real-time)
1175
1176
  - `gemini-2.5-pro` (Google)
1176
1177
  - `gpt-3.5-turbo` (OpenAI)
1177
1178
  - `gpt-3.5-turbo-16k` (OpenAI)
@@ -1184,7 +1185,7 @@ PyGPT has a preconfigured list of models (as of 2025-07-26):
1184
1185
  - `gpt-4.1-mini` (OpenAI)
1185
1186
  - `gpt-4.1-nano` (OpenAI)
1186
1187
  - `gpt-4o` (OpenAI)
1187
- - `gpt-4o-audio-preview` (OpenAI)
1188
+ - `gpt-4o-realtime-preview` (OpenAI, real-time)
1188
1189
  - `gpt-4o-mini` (OpenAI)
1189
1190
  - `gpt-5` (OpenAI)
1190
1191
  - `gpt-5-mini` (OpenAI)
@@ -1192,6 +1193,7 @@ PyGPT has a preconfigured list of models (as of 2025-07-26):
1192
1193
  - `gpt-image-1` (OpenAI)
1193
1194
  - `gpt-oss:20b` (OpenAI - via Ollama and HuggingFace Router)
1194
1195
  - `gpt-oss:120b` (OpenAI - via Ollama and HuggingFace Router)
1196
+ - `gpt-realtime` (OpenAI, real-time)
1195
1197
  - `grok-2-vision` (xAI)
1196
1198
  - `grok-3` (xAI)
1197
1199
  - `grok-3-fast` (xAI)
@@ -2436,17 +2438,15 @@ Enable/disable remote tools, like Web Search or Image generation to use in OpenA
2436
2438
 
2437
2439
  - `Experts: Master prompt`: Prompt to instruct how to handle experts.
2438
2440
 
2439
- - `DALL-E: image generate`: Prompt for generating prompts for DALL-E (if raw-mode is disabled).
2441
+ - `Image generate`: Prompt for generating prompts for image generation (if raw-mode is disabled).
2440
2442
 
2441
2443
  **Images**
2442
2444
 
2443
- - `DALL-E Image size`: The resolution of the generated images (DALL-E). Default: 1792x1024.
2445
+ - `Image size`: The resolution of the generated images (DALL-E). Default: 1024x1024.
2444
2446
 
2445
- - `DALL-E Image quality`: The image quality of the generated images (DALL-E). Default: standard.
2447
+ - `Image quality`: The image quality of the generated images (DALL-E). Default: standard.
2446
2448
 
2447
- - `Open image dialog after generate`: Enable the image dialog to open after an image is generated in Image mode.
2448
-
2449
- - `DALL-E: prompt generation model`: Model used for generating prompts for DALL-E (if raw-mode is disabled).
2449
+ - `Prompt generation model`: Model used for generating prompts for image generation (if raw-mode is disabled).
2450
2450
 
2451
2451
  **Vision**
2452
2452
 
@@ -2480,6 +2480,10 @@ Enable/disable remote tools, like Web Search or Image generation to use in OpenA
2480
2480
 
2481
2481
  - `Continuous Audio Recording (Chunks)`: Enable recording in chunks for long audio recordings in notepad (voice notes).
2482
2482
 
2483
+ - `VAD prefix padding (in ms)`: VAD prefix padding in ms, default: 300ms (Realtime audio mode)
2484
+
2485
+ - `VAD end silence (in ms)`: VAD end silence in ms, default: 2000ms (Realtime audio mode)
2486
+
2483
2487
  **Indexes / LlamaIndex**
2484
2488
 
2485
2489
  **General**
@@ -3556,6 +3560,14 @@ may consume additional tokens that are not displayed in the main window.
3556
3560
 
3557
3561
  ## Recent changes:
3558
3562
 
3563
+ **2.6.31 (2025-09-01)**
3564
+
3565
+ - Chat with Audio mode renamed to Realtime + audio.
3566
+ - Added support for real-time audio models from OpenAI (Realtime API) and Google (Live API), featuring real-time audio integration (beta).
3567
+ - Introduced new predefined models: gpt-realtime, gpt-4o-realtime-preview, and gemini-2.5-flash-preview-native-audio-dialog.
3568
+ - Included Google Gen AI audio input and output providers in the Audio Input/Output plugins.
3569
+ - Added URL Context remote tool support in Google Gen AI.
3570
+
3559
3571
  **2.6.30 (2025-08-29)**
3560
3572
 
3561
3573
  - Added native Google GenAI API support (beta); live audio is not supported yet (#132).
@@ -1,10 +1,10 @@
1
- pygpt_net/CHANGELOG.txt,sha256=uhbGHU7PLwMr9Vgf7bfYgLFCvs4htOuGZL-suLgPoU8,102892
1
+ pygpt_net/CHANGELOG.txt,sha256=WzVqjk7JnG22BjB_EUvQ-VicJuW1B9i-1c4nhFb37Ns,103381
2
2
  pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
3
- pygpt_net/__init__.py,sha256=0DPbTKeKg-Qjcbv0y0cnc4rrMyXIP-Qp1DH3OTb5rDs,1373
4
- pygpt_net/app.py,sha256=iF934FseRJAhhGLIxnpqzPKyOFrBtYWU7ePVT-P8I48,21434
3
+ pygpt_net/__init__.py,sha256=eXhRfnY_7iKlAx3s64Xpc2MLLo4tISVUBxQtSxx3n5g,1373
4
+ pygpt_net/app.py,sha256=1cKGoSeExyvUsmRgzm4sqE2trkspM78bEKJzA8RIDXE,21708
5
5
  pygpt_net/app_core.py,sha256=eRY6oYVm8TQeSG9Tz5KZnmpfc7s9Yl0TriEKKTabuTk,4095
6
6
  pygpt_net/config.py,sha256=LCKrqQfePVNrAvH3EY_1oZx1Go754sDoyUneJ0iGWFI,16660
7
- pygpt_net/controller/__init__.py,sha256=JEG5RwohoHCcqhBVoUhlwDJwsAhMbCRfl89QTtVXW9Q,6145
7
+ pygpt_net/controller/__init__.py,sha256=Ulb87_4zlzWMB3Z4dnXrG0BVfx5WogohG33D7ig5Jo4,6266
8
8
  pygpt_net/controller/access/__init__.py,sha256=_XZxGy5U93JGU49GbIB9E_I26_uRV_Zbz18lcp7u23A,510
9
9
  pygpt_net/controller/access/access.py,sha256=nPttwQf6RZHJAlXZ-3fnlcplwXxcJWp8ciq3FMsSssI,3974
10
10
  pygpt_net/controller/access/control.py,sha256=MhtgCBB2eIpr358qB5uzBkGX8EkT48u84dhZqyuXDss,17182
@@ -25,8 +25,8 @@ pygpt_net/controller/assistant/threads.py,sha256=323xGbyfYio32_yGLml34i2e9l2_jU8
25
25
  pygpt_net/controller/attachment/__init__.py,sha256=-5owOyszPze-YLQuTtFLQnSwEj_ftTxFwAP_3jPNpss,514
26
26
  pygpt_net/controller/attachment/attachment.py,sha256=sxtJiMSZBMXkewrIp2mbltILWUObkBMWiy5-pCiP8pE,20867
27
27
  pygpt_net/controller/audio/__init__.py,sha256=Ci5ClV3DKuMCLtFqQEOr5qun--tlIzKkQlwj9ug_kI0,509
28
- pygpt_net/controller/audio/audio.py,sha256=sW7RC9oL20D7lLS5i7mxSHn9brCcJLd0T0FMET2puGw,13665
29
- pygpt_net/controller/audio/ui.py,sha256=XFTd3XneK-uXLsNWYZJmJsvIQV-t81r5SU7Qq0F0n9E,7762
28
+ pygpt_net/controller/audio/audio.py,sha256=4qhPzzuXAtjlZnFciIiYEb7XcDqvo6fxlvRD76erfKw,14517
29
+ pygpt_net/controller/audio/ui.py,sha256=Cp6TOLG4ObdvzjEwJGJ7ovnZHhb66Rupe_agHTH4lJI,7790
30
30
  pygpt_net/controller/calendar/__init__.py,sha256=AyzoNqYgxV35CMEzoi_SCSsQh4ehg_Wu_2nsK3xsbyg,512
31
31
  pygpt_net/controller/calendar/calendar.py,sha256=s55RkCFQPFzdDoQ2zp3kohlNdpiWxdSxQtsaROeiigw,4424
32
32
  pygpt_net/controller/calendar/note.py,sha256=AkOQ0FslaDkQbNwXBg95XhtPi3KzhKiFd374L8kTKBA,10169
@@ -34,18 +34,20 @@ pygpt_net/controller/camera/__init__.py,sha256=dwmea8rz2QwdwKT160NYaaOoWucCWeyue
34
34
  pygpt_net/controller/camera/camera.py,sha256=ZZvNfKg1W5G9jJAQEzO-zwaY0ltyYys-9W2emffUCFY,16519
35
35
  pygpt_net/controller/chat/__init__.py,sha256=lx8FfN-Uoet5Y91xFxrA95N65vt_v99HcZd3K-YlYlc,508
36
36
  pygpt_net/controller/chat/attachment.py,sha256=hU1Slpop6rebGcLTwln-zL5SjXxhDNJUCEtKRVRRa50,20897
37
- pygpt_net/controller/chat/audio.py,sha256=QsU36McxqlRoP6B-NSeck968g1M8JhlLkLwGLunbapw,3210
37
+ pygpt_net/controller/chat/audio.py,sha256=NiUecZDVzLYyNDBfidI4uGczI457WkCU0T9P8UEGvDA,2889
38
38
  pygpt_net/controller/chat/chat.py,sha256=3cOxTeub6X7ui3TxoP9rAi4GPuwUeOEcLd-TG5ogbc4,3003
39
39
  pygpt_net/controller/chat/command.py,sha256=eKFQzP0tehZ3S_G7RoZVMTebQFSjPIpix3t7vDB7MWc,5291
40
- pygpt_net/controller/chat/common.py,sha256=hBn_mmVXj1ek_ks0rVg4vW8xvirIvpe6PXsnEHMqUsA,17717
40
+ pygpt_net/controller/chat/common.py,sha256=-D1UI0nr2pL2NcvpUSJkJHC0voB_13FxlI3KRvK4Ysc,18642
41
41
  pygpt_net/controller/chat/files.py,sha256=QZAi1Io57EU7htKt9M5I9OoGAFX51OH2V5-NsJktOto,2838
42
+ pygpt_net/controller/chat/handler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
+ pygpt_net/controller/chat/handler/stream_worker.py,sha256=2zn8tGYXLLTvml3Rd7kk2SR0RlIiZCYUOePpAuUUuSI,42215
42
44
  pygpt_net/controller/chat/image.py,sha256=2mZdFiCyej1RimfsKn0CSuu9kLOw0Za6B3lhEUEz9nU,8027
43
45
  pygpt_net/controller/chat/input.py,sha256=5CKEHSzx1SU1F-ktIUt9VA3TLtxP5kSqWyvYzANqruY,7846
44
- pygpt_net/controller/chat/output.py,sha256=q-0SJQpT14pGVZLGk1o1a5hfyE_9FigJRdGBAFR6M-Y,8202
46
+ pygpt_net/controller/chat/output.py,sha256=j0yaQUiRMGAcjRUpxTZlC7EnoBpk84ibUhmRo22E7Xk,8390
45
47
  pygpt_net/controller/chat/render.py,sha256=-Z-beOsEvw_tS4I8kBT5Z0n9KhDlgrEQH4x1PLDvxhE,20613
46
48
  pygpt_net/controller/chat/response.py,sha256=yCUWpa5OdrtIoTFyX_cxId9jLDrRNyqj-NT_9RPFJ4E,11413
47
- pygpt_net/controller/chat/stream.py,sha256=kj5aRpnOqiZnYH12muDNvNRJ2IS626moh6Zw91QOX1U,45621
48
- pygpt_net/controller/chat/text.py,sha256=Dvfn8GLJok5uAGRkztY2bXK2gozblzjBc5wUzzbeeaU,8757
49
+ pygpt_net/controller/chat/stream.py,sha256=4hg6MI7Wyb5QIYt8U4eZ7XDajtTkLN6PYQRSKwlVKOg,4599
50
+ pygpt_net/controller/chat/text.py,sha256=FM3HHUQPP9nRoGuJH1L2xUMi_ye5pq33xoqAvN_3Mg8,8746
49
51
  pygpt_net/controller/chat/vision.py,sha256=ZvbdMPf5SzPmIfjJUH4To2UJi41MuELkGIj5mxACxdc,3361
50
52
  pygpt_net/controller/command/__init__.py,sha256=xHOjVYXKiHT-FEXNSGJZoYcU8SslQ2vr6DMqJcVPDNE,511
51
53
  pygpt_net/controller/command/command.py,sha256=XcQSz-QwWEhI90Oivvbu9kuke-mH8TQt5VW16VStInw,6221
@@ -83,8 +85,8 @@ pygpt_net/controller/idx/idx.py,sha256=Xah-oob7vgVF10sIHLdw-Ds3yfw08vzbxMLsPgPfH
83
85
  pygpt_net/controller/idx/indexer.py,sha256=BeR3qVSJJXyWKxmFYM1EWZoKLvzyakZAI3KAxP-G0MU,22173
84
86
  pygpt_net/controller/idx/settings.py,sha256=orWd8ARxIBBs3MWJLjEKcqmrXLi6DvsLitsPvPd2fXU,7916
85
87
  pygpt_net/controller/kernel/__init__.py,sha256=XVS7uaC0VZZkpjqkbs6pqSwXdAZWLnR3dVNCHmF7XH4,510
86
- pygpt_net/controller/kernel/kernel.py,sha256=Kb3kroTGSoFi9HNYvewC3wFcqW9Wj-7vTOhhz1Cg0Yo,13640
87
- pygpt_net/controller/kernel/reply.py,sha256=ccot0hZ7_TYBD29kYlTvahhQZ-QoHsBfXlPkCXaF9Kw,5438
88
+ pygpt_net/controller/kernel/kernel.py,sha256=LzQVDuZmDujccoyApeN5HCdRHd6GJbpGRAhxNpdaX10,14045
89
+ pygpt_net/controller/kernel/reply.py,sha256=TOofCGKkYd4JJkN2V-nKsWy4SoQXIge7nsZKl2vpyNA,5634
88
90
  pygpt_net/controller/kernel/stack.py,sha256=Bs770-OfgXIAacT_uG_GTUTsr_YGuqO1WFmWzWdnC9A,4150
89
91
  pygpt_net/controller/lang/__init__.py,sha256=Bpr9Ygoi_vd_CnfbQiZzYAeg9KV0vqNIuMl8EWmHKaM,508
90
92
  pygpt_net/controller/lang/custom.py,sha256=HLLRNVBd4iLKEbcpTmG2cMxLVJH092mNyi9DKnc4g0s,6090
@@ -116,6 +118,9 @@ pygpt_net/controller/presets/__init__.py,sha256=Bb9_aAvGxQcKCW2fvG5CAJ6ZUwNYN3Ga
116
118
  pygpt_net/controller/presets/editor.py,sha256=AHVo4gkiRQl5QUndC8D-CQ4GEAiq7zk3dGnvJ53Om3o,39115
117
119
  pygpt_net/controller/presets/experts.py,sha256=dfPKmAPO-7gaUD2ILs3lR005ir32G5vV-Sa5TGEHwOU,5820
118
120
  pygpt_net/controller/presets/presets.py,sha256=Tq9AIgr042ALu6hEQunBxnUZTzLdzmp4IStWprzmyjg,21918
121
+ pygpt_net/controller/realtime/__init__.py,sha256=MhvJb5wBqcpX6uylof01qEDRdU3SepTD88sU2lXNtIQ,519
122
+ pygpt_net/controller/realtime/manager.py,sha256=qtifO3sAtT1ROtRs9N_8t6A8_wgxOxxGl-PfLHzhdxY,1762
123
+ pygpt_net/controller/realtime/realtime.py,sha256=1QitW_Cy8gFVPOorONM3LOLdLG0j7EmtdtH9seop3lQ,9925
119
124
  pygpt_net/controller/settings/__init__.py,sha256=hn5n_Hti6byJQdQCs4Ld2EbPoZF7dHVMwqaBPscePQ8,512
120
125
  pygpt_net/controller/settings/editor.py,sha256=gmUXjLuRoa-l-xwrqkAzEie0EWjr6eawhBvfiKX-SJ8,18748
121
126
  pygpt_net/controller/settings/profile.py,sha256=L9tEorMfT36aiWP9faE5jhyoU087R7u2ReOWCqXMYJc,18586
@@ -130,9 +135,9 @@ pygpt_net/controller/theme/theme.py,sha256=VzZcc983NbnnV3O30_LZ0f3xtsd23c2xV4f61
130
135
  pygpt_net/controller/tools/__init__.py,sha256=ds63rOuwLEIe-SlY_sQkhWSdXS0lfVwseUiHkg2NTD4,509
131
136
  pygpt_net/controller/tools/tools.py,sha256=bWxdwL3J2-WHBS3MBiKsS3kTW_rQI_nS9z8-8iKifKg,2920
132
137
  pygpt_net/controller/ui/__init__.py,sha256=cxfh2SYeEDATGAZpcYDqCxYfp4KReQ1CYehevSf89EU,507
133
- pygpt_net/controller/ui/mode.py,sha256=RX2omKQ65efycMPiH2BwMXIz30Ud5pA8MOe7WrX592s,8119
138
+ pygpt_net/controller/ui/mode.py,sha256=afAZvzKI6DdAImM2Yu8PIVDZ3BzoFhWS7v2XoxWvSxw,8352
134
139
  pygpt_net/controller/ui/tabs.py,sha256=NpoC_DJeeB8CA5fw4zRs7th0wjlg2XP9bPgQCclenww,28948
135
- pygpt_net/controller/ui/ui.py,sha256=UvqQdDNRuO45oE18kkxt2aUEsdCyItVnhisfWkjsHl8,7693
140
+ pygpt_net/controller/ui/ui.py,sha256=w6rxJ0bNk_43Hd0vZB0roxZo7h-AmISEhr8ZiqcBTgA,8496
136
141
  pygpt_net/controller/ui/vision.py,sha256=tnzllFV2-sYDHfrP12ATY6ZKi6FcGtQofrsoKF6UcCU,2407
137
142
  pygpt_net/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
143
  pygpt_net/core/access/__init__.py,sha256=6HA7ahoksA6B8J56EnHKFIjMwIrQ0AVVWlKkzsSFOD8,510
@@ -169,19 +174,31 @@ pygpt_net/core/attachments/attachments.py,sha256=bUqvfPqlpdXiGf3GvS1kTE45A0Q1Eo3
169
174
  pygpt_net/core/attachments/context.py,sha256=e7ipcZRGmNfmrS97i5q3LPYtJqJzSHMtRssvaYgqJHE,25169
170
175
  pygpt_net/core/attachments/worker.py,sha256=NgZmrAPGzD8_97UXgvMZKYI_DtJKRTOG62_QLBsm0Gs,1677
171
176
  pygpt_net/core/audio/__init__.py,sha256=SNShKpjqXzLhaSKxWiM8b6lasHRkrdSZ8ck-X7RJ-VY,509
172
- pygpt_net/core/audio/audio.py,sha256=_WaS1JHT9S3BqmzEc7bOcWwMfth6ueMJQVs13jzoy4c,7709
177
+ pygpt_net/core/audio/audio.py,sha256=WlfTdWldfqkIqYhngaAT4HAI6SoMEvrQtOWrg2UOkGc,7824
173
178
  pygpt_net/core/audio/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
- pygpt_net/core/audio/backend/native.py,sha256=9MutP1iMnvOJqwG9UfFFjY2H4uGKH1R2ThGgt5Rvvl8,23604
175
- pygpt_net/core/audio/backend/pyaudio.py,sha256=GWS3cBpFxOb7T8_8q9JhVEcSL0LMggFtCSwd8ycAbNU,18508
176
- pygpt_net/core/audio/backend/pygame.py,sha256=jVzPY2_RRjRgQu_aU5Frn-t1V5oSvHSVuxmX-16dyDM,16717
177
- pygpt_net/core/audio/capture.py,sha256=z0uvhTmShq0hdnQgWxaIZ5tPXxN6ThuHbOwjwpg5q44,3813
179
+ pygpt_net/core/audio/backend/native/__init__.py,sha256=QUEZP4HQVvqSn9FLiE_Bu-h9YeMWwjTJue2tHpM3xiY,522
180
+ pygpt_net/core/audio/backend/native/native.py,sha256=up5Cf25dxFueGKP_Zs78EDSmsqOz7ryQ0uKSZNQEboY,33954
181
+ pygpt_net/core/audio/backend/native/player.py,sha256=k1xFm3FxVmic18z6NcVsn-7Qo6n5UIehdGVFjPm8gEA,5031
182
+ pygpt_net/core/audio/backend/native/realtime.py,sha256=N5abvvpVCz0qEju9guTkmIjn3e9LCnYIgOaT__GlfJ4,8370
183
+ pygpt_net/core/audio/backend/pyaudio/__init__.py,sha256=VBA-F1lhYYqb0dE1UgtA80epZTBx8fCNS3-mjKDlhag,524
184
+ pygpt_net/core/audio/backend/pyaudio/playback.py,sha256=mFh3Zcerzke8ZkOvQFD1725NVPwjorwe02XRYjd75QU,6608
185
+ pygpt_net/core/audio/backend/pyaudio/pyaudio.py,sha256=g6J-09XxUTXtuwVCc-Snp-44QDbqPRdxc40WOVsTQmo,30404
186
+ pygpt_net/core/audio/backend/pyaudio/realtime.py,sha256=YCtYnkdib4lbZbZWtnfLrC15lXeZt94F90-7fJ9-lxA,8652
187
+ pygpt_net/core/audio/backend/pygame/__init__.py,sha256=B7c9qQN81R3z9LVeAJwywUXyxll0PzooJGnXj-T81GQ,522
188
+ pygpt_net/core/audio/backend/pygame/pygame.py,sha256=vljowHqYaMHqt-kaqakDvRDws_Ia43UrRjb1B3u_bjk,20235
189
+ pygpt_net/core/audio/backend/shared/__init__.py,sha256=WOJS8NALqTAa3dyI7P6KWrQsxiouK0lft-8awfqSZHE,1062
190
+ pygpt_net/core/audio/backend/shared/conversions.py,sha256=AVcQNyThCwg5R8wCGKKzHrbPzDVs4N6IoRCUJQUyHDk,6988
191
+ pygpt_net/core/audio/backend/shared/envelope.py,sha256=bG7q5D7kBAm_2Mq0fA4eNwW056OY0HOB78jUVgveOGo,1346
192
+ pygpt_net/core/audio/backend/shared/player.py,sha256=I6OQlf9m7kUTEWzNIQGZAJdNT2UoKbMLe5-2J5kMHcA,4923
193
+ pygpt_net/core/audio/backend/shared/rt.py,sha256=7xubfRJ0vGH0-X3_fRnry9MPepRBZ56Mkoa9FVMYyB4,1633
194
+ pygpt_net/core/audio/capture.py,sha256=SpBq6nX4qpBuJCWr6zuj8xJ1iGFLfmIENK6Z8ulp31w,3986
178
195
  pygpt_net/core/audio/context.py,sha256=7Hgph0cvpB5_RE66icGT7vp98iMnHUbvxCmfBSAutqY,1050
179
- pygpt_net/core/audio/output.py,sha256=qhXw1rziBShha84b1lBKstNlA470Yuz-abkx9aNId6U,2737
180
- pygpt_net/core/audio/whisper.py,sha256=WZ_fNQ06s1NBxyoYB-lTFqDO6ARcnq9MZFekRaTNxTo,993
196
+ pygpt_net/core/audio/output.py,sha256=QXIpiHkwYI1KWgj3WCsPYGBWxkHcqSTP491GBth657I,3028
197
+ pygpt_net/core/audio/whisper.py,sha256=ZLD5KO3hbFuahQbKEusBitTeEkNunlhHMtO6sdS8tWA,1075
181
198
  pygpt_net/core/bridge/__init__.py,sha256=RCrT3CuP8-Gf_APr5mBXyNcRigrfHcgS-SYVVP_9flE,510
182
- pygpt_net/core/bridge/bridge.py,sha256=ofr_CDJSJZImTc8zsuJ3w7rO4C6YOabusCMTbjSB1SQ,10626
199
+ pygpt_net/core/bridge/bridge.py,sha256=l0xCvGDyLPRNAyqdmvX7ccrpJDxS4veFP8Ejp6SgNL4,10714
183
200
  pygpt_net/core/bridge/context.py,sha256=FgVIHLjEyZ3Z4YIeEElHQCXAeq7N2Wc3Thu7D5bddos,5282
184
- pygpt_net/core/bridge/worker.py,sha256=a0xivs_y57YjAGlhSwWhlhB38spYk2VWVHGTL2y0Ses,7277
201
+ pygpt_net/core/bridge/worker.py,sha256=9PsUeuGyM_RY6v6MNroFLEVyC4mt-KABzwAmJ6cAJ4Y,7412
185
202
  pygpt_net/core/calendar/__init__.py,sha256=AyzoNqYgxV35CMEzoi_SCSsQh4ehg_Wu_2nsK3xsbyg,512
186
203
  pygpt_net/core/calendar/calendar.py,sha256=ao9kQk6Xjse95m1TbL1Mlbo1k1Q8D9eGc10L-71G9TY,7227
187
204
  pygpt_net/core/camera/__init__.py,sha256=cny2EajFmwkFdo_pUkErJY4BhpyHp1kJVDcTCOOvkjY,510
@@ -221,16 +238,17 @@ pygpt_net/core/debug/presets.py,sha256=XNpDpJ-K5YyU8DfzqkHaRKQ3R6xlcZK19FOn1IeOu
221
238
  pygpt_net/core/debug/tabs.py,sha256=nS2AaMarlYg-wKmbWdQWtiPcqNiNTBbfkD6CM-Nlgfw,2650
222
239
  pygpt_net/core/debug/ui.py,sha256=ObMa8_iA2UaPoHS_d6y9Ztbd6VpGYPJw45vcGnUmao4,2666
223
240
  pygpt_net/core/dispatcher/__init__.py,sha256=tQLIrKgQ1pAwkKyH9sroC9u1Ot_956YultPXKYrLtg4,514
224
- pygpt_net/core/dispatcher/dispatcher.py,sha256=ojshqqiwpgKvMANCV5Bh5ThUDKv9ao1euJcEaG3O9NU,5773
241
+ pygpt_net/core/dispatcher/dispatcher.py,sha256=yHAxJ9LImrW8KukV2mkD_PUufm2DRLSf5iqQZ045er4,7089
225
242
  pygpt_net/core/docker/__init__.py,sha256=nHiLp77QKEJB8eNgaiqN7vPWpKlLUNPTgkaFqDpN9Vs,510
226
243
  pygpt_net/core/docker/builder.py,sha256=emJLMIoM0_qZ7ircE-_WhgirCe8cTIf3gJHfdok9mW4,3276
227
244
  pygpt_net/core/docker/docker.py,sha256=ccHtuOuuUl8LAbmnn2_2bfdnl_4YaG7pPeSsSGlqGv4,13186
228
- pygpt_net/core/events/__init__.py,sha256=C6n8MRL_GXcHlr3txzyb2DtRMGLQbD_LEZygFVyQE-k,665
245
+ pygpt_net/core/events/__init__.py,sha256=O3y22tE7G2Po5wZ1zaBuxbMamObIILMy1aFPwmDOUv0,701
229
246
  pygpt_net/core/events/app.py,sha256=iB-gBJyuAjDduLQl3kZIg_e3OtPRkzzh0EMoWhHWG0E,1890
230
247
  pygpt_net/core/events/base.py,sha256=4pxu_M0ZN0FaKqxdNdco5661MqXsygsogK7Tj61aq6A,1887
231
248
  pygpt_net/core/events/control.py,sha256=w1d3NZYSxQoM6gaB0cY_rYuI5pdY7UoV3y4T6hphWhI,2943
232
249
  pygpt_net/core/events/event.py,sha256=OyeS7Cwdi1wTh32LCBFboCkNykfE7mkiT6SZjmALG_U,3961
233
250
  pygpt_net/core/events/kernel.py,sha256=67PnBxVMxrsXOXY0BIRK_We2wQIWCVwbC1VAOqFKoFM,2074
251
+ pygpt_net/core/events/realtime.py,sha256=RMhYAMCNmqBZME1OCpC9fqTud8dMldrpvekqHk98vwc,2006
234
252
  pygpt_net/core/events/render.py,sha256=0t37D1KS58ikgYktWaHnR7bhGJ6M9GexeJjktH3SNFQ,2525
235
253
  pygpt_net/core/experts/__init__.py,sha256=oscAmAEsCZclyHU7k3z5JzYqilwIO7J90e6oTa29tZ0,511
236
254
  pygpt_net/core/experts/experts.py,sha256=NBalA2qHGqp6SvXXVvgt0aXFX95H0fw0o3Z0t2C5DyY,18789
@@ -262,7 +280,7 @@ pygpt_net/core/idx/ui/__init__.py,sha256=nfCat59itYOlE7hgn-Y5iemtkgU2NWSnKZK_ffZ
262
280
  pygpt_net/core/idx/ui/loaders.py,sha256=15-5Q5C9jGcLZkNkcqZDfAsQqwzLCZOFzHXCTGiYN6k,8732
263
281
  pygpt_net/core/idx/worker.py,sha256=ywaq96MoOKJjnohmSGNmk7Ah_iaPG4J61G99YmiXv0A,3969
264
282
  pygpt_net/core/image/__init__.py,sha256=HEXciv02RFJC3BkrzP9tvzvZlr36WYMz5v9W80JLqlQ,509
265
- pygpt_net/core/image/image.py,sha256=N0IZLNdIJG2ym92YvxaeHiC3mHc8LGybeNS0QovU-So,3953
283
+ pygpt_net/core/image/image.py,sha256=QmT5zoDlFDzYtbchCFhZwwTEOcUxqQfX53EfJKwpUOw,5377
266
284
  pygpt_net/core/info/__init__.py,sha256=SJUPrGXxdvHTpM3AyvsaD_Z_Fuzrg2cbcNevB7A6X-8,508
267
285
  pygpt_net/core/info/info.py,sha256=YJEDJnGVMmMp0sQ0tEDyri6Kr94CopcZF6L97w9dXDg,829
268
286
  pygpt_net/core/installer/__init__.py,sha256=ReDXTveTr-U9brtM1bbtdC5vU92Jjo6mVvc7bfwQl_I,513
@@ -292,6 +310,17 @@ pygpt_net/core/prompt/base/gpt.py,sha256=IzjLOVd1CEswDUq4r4uo0UfDeiWovXUaU4OmfY_
292
310
  pygpt_net/core/prompt/custom.py,sha256=kexQrazSm_pCmHclTkVT2YId3aNiF53kg6UCSCFZ-KE,7849
293
311
  pygpt_net/core/prompt/prompt.py,sha256=cEovsa_FUZfiOjC74AWDaXc1RzYdaxXXw3w9xKtVPss,7484
294
312
  pygpt_net/core/prompt/template.py,sha256=Uygs2W-Bw53SX6gZXjYKuHlPtbFGZf41VzR8244dfc0,3329
313
+ pygpt_net/core/realtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
314
+ pygpt_net/core/realtime/options.py,sha256=5tei316Nw38CzPrql8jkg44Y0Iv7UWVsGooXqoO35MY,3161
315
+ pygpt_net/core/realtime/shared/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
316
+ pygpt_net/core/realtime/shared/audio.py,sha256=6SQ1rwLY_HetdjZTlRQ17sHFuBUEam-AWFtNcZeiZuQ,7603
317
+ pygpt_net/core/realtime/shared/loop.py,sha256=x91MBaILh9gdlHcxuj5i333M4qwSj6DAv5hydWLmzAY,2255
318
+ pygpt_net/core/realtime/shared/session.py,sha256=jjk3MuCx6K_CO2smgGFj-WDbZQQqEjUwodFUgBFwLRk,2101
319
+ pygpt_net/core/realtime/shared/text.py,sha256=qBpVPH9A4BToisA-fIyV28KcjZHC-mg8NAzUAx0FlgI,1298
320
+ pygpt_net/core/realtime/shared/tools.py,sha256=JTuUOQXlzYJ1so7e6DttXrslMjSjfmfuT3_Q_WDH-vU,10459
321
+ pygpt_net/core/realtime/shared/turn.py,sha256=W1MzWRjgkYQbkWoqydZhisP2HkZM3KUYpyYxi0YUX3E,1454
322
+ pygpt_net/core/realtime/shared/types.py,sha256=DCx1BiDxdd9r4_FRKaGCGFpAAd1_07Tk6BLcuhEDT9w,712
323
+ pygpt_net/core/realtime/worker.py,sha256=bJpsYpmB-3RV6XynhbBeW7dtzCls9NFwesOYpm5AuKw,6113
295
324
  pygpt_net/core/render/__init__.py,sha256=19xPDIYeoDn3Sf1tpcvXtxLaaKkjs0nDQ7-4GqTfeRk,489
296
325
  pygpt_net/core/render/base.py,sha256=Lkj6_E4hnx7WT8sDOecJQcm41tg1jZ9q3VQSxtWHE5w,10197
297
326
  pygpt_net/core/render/markdown/__init__.py,sha256=19xPDIYeoDn3Sf1tpcvXtxLaaKkjs0nDQ7-4GqTfeRk,489
@@ -324,10 +353,11 @@ pygpt_net/core/text/utils.py,sha256=PCQ6F7DODPigqP-ZVWs0CzR4I6C9gSBfD1JXp3rAY1g,
324
353
  pygpt_net/core/text/web_finder.py,sha256=8Yex-Kmnz8KyStF0-koNC-0392SkUIsy0nRYLExlyHM,6600
325
354
  pygpt_net/core/tokens/__init__.py,sha256=rSSdzmBL-LmMUv14hodHi5b1HYcm9UU8DEbD7owk4BI,510
326
355
  pygpt_net/core/tokens/tokens.py,sha256=M-97eNqXqnlgoDdFYTydifF4VhStCbO5dSt9PoBCTpI,12354
327
- pygpt_net/core/types/__init__.py,sha256=gNV9NS5KdJ39nVusAGDRMeLZQjQRW6AXBfjP2RXdtoI,639
356
+ pygpt_net/core/types/__init__.py,sha256=GHk9e0IaR7mNqD5qMNQnJxFpaXvPURy-IIkCzS7PFgE,660
328
357
  pygpt_net/core/types/agent.py,sha256=74GRk_T1hSt7P2CSYjn0oTeYH3j3-ZLKsG_62Abu674,872
329
358
  pygpt_net/core/types/base.py,sha256=ZLJkuQwaeSmIkTBQMwHtW8rsTKJD9wFpaEjwMOSzNfI,638
330
359
  pygpt_net/core/types/console.py,sha256=vzYZ4fYkwK71ECJB7Qop0qcVIC6USLxxKuFN-ZweuB0,713
360
+ pygpt_net/core/types/image.py,sha256=diUPpsaAoBuSpkxiwlkSTzDETiFXKq92zxKxgiaDWwE,1462
331
361
  pygpt_net/core/types/mode.py,sha256=yY_6B2n8xEszbqph7mWTbgECHmJjAgal8CFNcUgyG7M,904
332
362
  pygpt_net/core/types/model.py,sha256=V8O9yipzqyTmVjzeESQ1xvZpSdRU6UYmvWJ1M2Kxs5A,549
333
363
  pygpt_net/core/types/multimodal.py,sha256=yeKLZ5MrCHU5LhWwFE-yGApt-FB59kTmElo3G7td9uw,594
@@ -348,8 +378,8 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
348
378
  pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
349
379
  pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
350
380
  pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
351
- pygpt_net/data/config/config.json,sha256=GVYZujDzmceEF4yXKQUKEmcsFvMLBva1uC-9wLwVlps,26146
352
- pygpt_net/data/config/models.json,sha256=UjIXk2Bx59bcn3wV3uOHsjzevP3D77aUowiyOgXXugw,112226
381
+ pygpt_net/data/config/config.json,sha256=YjdfJrjc3joAe0ZAu8D_AUiF8ZHxgKWjjeRjZiXrLNM,26343
382
+ pygpt_net/data/config/models.json,sha256=UAsu7Rs6ifGqxJt-CwrqqFqzLnHFwk0ILEXCRUYKDB4,113664
353
383
  pygpt_net/data/config/modes.json,sha256=IpjLOm428_vs6Ma9U-YQTNKJNtZw-qyM1lwhh73xl1w,2111
354
384
  pygpt_net/data/config/presets/agent_code_act.json,sha256=GYHqhxtKFLUCvRI3IJAJ7Qe1k8yD9wGGNwManldWzlI,754
355
385
  pygpt_net/data/config/presets/agent_openai.json,sha256=bpDJgLRey_effQkzFRoOEGd4aHUrmzeODSDdNzrf62I,730
@@ -384,7 +414,7 @@ pygpt_net/data/config/presets/current.vision.json,sha256=x1ll5B3ROSKYQA6l27PRGXU
384
414
  pygpt_net/data/config/presets/dalle_white_cat.json,sha256=esqUb43cqY8dAo7B5u99tRC0MBV5lmlrVLnJhTSkL8w,552
385
415
  pygpt_net/data/config/presets/joke_agent.json,sha256=R6n9P7KRb0s-vZWZE7kHdlOfXAx1yYrPmUw8uLyw8OE,474
386
416
  pygpt_net/data/config/presets/joke_expert.json,sha256=jjcoIYEOaEp8kLoIbecxQROiq4J3Zess5w8_HmngPOY,671
387
- pygpt_net/data/config/settings.json,sha256=nPdqSa-c4NWsyFuEEc8u38fJQbQ3Xr-VpXlTI0CFrik,71372
417
+ pygpt_net/data/config/settings.json,sha256=OOK9KQrP1an6qoDZ8MVOwgY7OsNhm7_7lc63WKGOQ38,72701
388
418
  pygpt_net/data/config/settings_section.json,sha256=pcfOFk0_eIRaa4nKRxhSVzDXe531YxWJgVx5rLV0J9U,1150
389
419
  pygpt_net/data/css/fix_windows.css,sha256=Mks14Vg25ncbMqZJfAMStrhvZmgHF6kU75ohTWRZeI8,664
390
420
  pygpt_net/data/css/fix_windows.dark.css,sha256=7hGbT_qI5tphYC_WlFpJRDAcmjBb0AQ2Yc-y-_Zzf2M,161
@@ -1611,14 +1641,14 @@ pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff2,sha256=cdUX1ngneHz6
1611
1641
  pygpt_net/data/js/katex/katex.min.css,sha256=lVaKnUaQNG4pI71WHffQZVALLQF4LMZEk4nOia8U9ow,23532
1612
1642
  pygpt_net/data/js/katex/katex.min.js,sha256=KLASOtKS2x8pUxWVzCDmlWJ4jhuLb0vtrgakbD6gDDo,276757
1613
1643
  pygpt_net/data/languages.csv,sha256=fvtER6vnTXFHQslCh-e0xCfZDQ-ijgW4GYpOJG4U7LY,8289
1614
- pygpt_net/data/locale/locale.de.ini,sha256=c_fdW30xazVW0s1qzWspQNbXF4UnuVCvlYtj7rIz-KY,102827
1615
- pygpt_net/data/locale/locale.en.ini,sha256=otm8P1zIbDex-miIeYvPiWxasFoRlyRSAGmu4sQWh-M,94681
1616
- pygpt_net/data/locale/locale.es.ini,sha256=HxArL5sKu59yGgVvD23JEaw0trhEzhk5oGhx6Zpig9Y,103481
1617
- pygpt_net/data/locale/locale.fr.ini,sha256=_dWIiVDw1XKj9-r26wtDI5oCs84_KkEv0WH38yhEVTs,106285
1618
- pygpt_net/data/locale/locale.it.ini,sha256=xJEMdwkd5NFzHxr10rvA3vv01-OH_1V5hYxPLftGU2Y,101271
1619
- pygpt_net/data/locale/locale.pl.ini,sha256=_8IOC9bmhdAZK_vFW-Lq5TZNTPC5zEPhpKN9Rt5mZfo,101027
1620
- pygpt_net/data/locale/locale.uk.ini,sha256=ZT_nHRnYfOllO7Gv4wtB0lktMPyAwwNBpNZa4eSnFd0,140818
1621
- pygpt_net/data/locale/locale.zh.ini,sha256=sgy907kGvTniDq3O2kDLZWe8dktuzFKQs0V08HXdkxQ,90163
1644
+ pygpt_net/data/locale/locale.de.ini,sha256=-n-RzqT8Ic_AfF-Ssy-9LLjyFOBX5gzcDoq98kHL_0A,102797
1645
+ pygpt_net/data/locale/locale.en.ini,sha256=jetZS5iDDcWB35MG4OwESuZSfe6pqCWHg75zhWYu26Q,94801
1646
+ pygpt_net/data/locale/locale.es.ini,sha256=FIcqH1GHYfFADXsn8e8JXr_Q3iDXYsJtLNWEXca7YFc,103451
1647
+ pygpt_net/data/locale/locale.fr.ini,sha256=uLs7ahPGWQ9KPTKE3ucvGBMup8GVwoDDrQMluH_Nvp8,106252
1648
+ pygpt_net/data/locale/locale.it.ini,sha256=9mT5-105G2tr1awzQwTYpmrQgyhdh-5FOtT42aiGIbE,101241
1649
+ pygpt_net/data/locale/locale.pl.ini,sha256=awS2ZB5KYTW81c_bfbDRRSPLQxTP8Jpbik1fIC9nhJ0,101001
1650
+ pygpt_net/data/locale/locale.uk.ini,sha256=I-qTXRFN9qdCr2M83qRd409z5-xFb5EVxA25GccxdhI,140782
1651
+ pygpt_net/data/locale/locale.zh.ini,sha256=7mOwTuyUuIoAulNUVhcH_1k3RntS-OhCiLCvEGpYors,90167
1622
1652
  pygpt_net/data/locale/plugin.agent.de.ini,sha256=BY28KpfFvgfVYJzcw2o5ScWnR4uuErIYGyc3NVHlmTw,1714
1623
1653
  pygpt_net/data/locale/plugin.agent.en.ini,sha256=HwOWCI7e8uzlIgyRWRVyr1x6Xzs8Xjv5pfEc7jfLOo4,1728
1624
1654
  pygpt_net/data/locale/plugin.agent.es.ini,sha256=bqaJQne8HPKFVtZ8Ukzo1TSqVW41yhYbGUqW3j2x1p8,1680
@@ -1628,7 +1658,7 @@ pygpt_net/data/locale/plugin.agent.pl.ini,sha256=Hq0Vc1k1UAoVU22BBR723nFDF3o3bAP
1628
1658
  pygpt_net/data/locale/plugin.agent.uk.ini,sha256=TVflVhVMoE4pBUk3fam9qB2cGVnQ-FEjTfruij2zl5U,2709
1629
1659
  pygpt_net/data/locale/plugin.agent.zh.ini,sha256=smv1d_Ksqrp_wHZqEfJ1RzTr1sxzuDGIZuY3hKNLi5g,1405
1630
1660
  pygpt_net/data/locale/plugin.audio_input.de.ini,sha256=hHDL85fXPGjo4Vk4d1F6C86hXA0XbANT5YzZHZCM29U,6089
1631
- pygpt_net/data/locale/plugin.audio_input.en.ini,sha256=XmeE9_QN7C_lyrrtpPNjX3bQPJzenKdQaQElD2pQWOg,5372
1661
+ pygpt_net/data/locale/plugin.audio_input.en.ini,sha256=LM0oK2dw6tzOum9g-kKPfgiIsnBAWWTSjPaP5ZDsTds,5632
1632
1662
  pygpt_net/data/locale/plugin.audio_input.es.ini,sha256=4bGumrNuAsDwqFpWkg00UX8Y2pFC5lW-GVXZItrlPrU,6157
1633
1663
  pygpt_net/data/locale/plugin.audio_input.fr.ini,sha256=AveldBiLTYhZ2LpQFVefgHbhJncMFrCzXfA2wuv-KeM,6062
1634
1664
  pygpt_net/data/locale/plugin.audio_input.it.ini,sha256=DdW3hqB-Il_5fzfk_CqQc0b0pTJvtHLyaKpgAFYleRA,5928
@@ -1636,7 +1666,7 @@ pygpt_net/data/locale/plugin.audio_input.pl.ini,sha256=3M2BEX57X2L9LMfFxC4DQO-r_
1636
1666
  pygpt_net/data/locale/plugin.audio_input.uk.ini,sha256=uQSo-EF8H7CGb8SyXuYKh85K_CqbmdpZmQ0wSL--lfQ,8900
1637
1667
  pygpt_net/data/locale/plugin.audio_input.zh.ini,sha256=4Hh10FE3FoDkhwmrtCi_ThQMtVwbpfznSohfWDI9mcE,5010
1638
1668
  pygpt_net/data/locale/plugin.audio_output.de.ini,sha256=hpQXVm8cnj3u11AYNJovJnxnxQNKCohFYd-T15MrR0w,1923
1639
- pygpt_net/data/locale/plugin.audio_output.en.ini,sha256=JKUfYSFeGKmQCE80uw1gYz9waDlPZANYBnys7RGuHwM,1766
1669
+ pygpt_net/data/locale/plugin.audio_output.en.ini,sha256=1Ghn1N-N0rz8_9g0BMPKXn9rOjKdK8Icb77ecNTmkkQ,2079
1640
1670
  pygpt_net/data/locale/plugin.audio_output.es.ini,sha256=qSJp6Pqy9Npid9-M4IAj-mkdGHZRHMePldt-dewa7cY,1897
1641
1671
  pygpt_net/data/locale/plugin.audio_output.fr.ini,sha256=L9h4m0QKCSRtL4Gdsdqn_AtJCRkYtYLCVTJ2cEuldG0,1895
1642
1672
  pygpt_net/data/locale/plugin.audio_output.it.ini,sha256=YAWKu_qA41ORWSDW0q75xhi564E-hLoCsxCC6Ug4Moc,1848
@@ -1840,8 +1870,8 @@ pygpt_net/plugin/agent/config.py,sha256=Hr-iDnu_vHHa-DQirJjvauovJ6_TetV4MfqzhIoE
1840
1870
  pygpt_net/plugin/agent/plugin.py,sha256=FcYwDE4QofWc0Utp89__bRpTYYbXcMk8xKRaM8GJ_1E,6189
1841
1871
  pygpt_net/plugin/audio_input/__init__.py,sha256=c2WZ3EJZbtdBebTHvvTAURbe7ATo0oXjkKzblgJsMnk,511
1842
1872
  pygpt_net/plugin/audio_input/config.py,sha256=x57IVxBapJp9rwos327T6U0jTFSPeRJ6BorqfYxJ4u0,9197
1843
- pygpt_net/plugin/audio_input/plugin.py,sha256=vGwDtsPkwCEwiz2ePnzW48Tuhr0VHEc7kQua11VE7tI,15714
1844
- pygpt_net/plugin/audio_input/simple.py,sha256=5zEAGsbzSE74nZC7D7cKHmPkSXa4VPG8L8ATtUPRDx8,6580
1873
+ pygpt_net/plugin/audio_input/plugin.py,sha256=dVhaUeBZ7L4FJ7VcjbcndGyO1QIYIhRL4Pe5pItriNo,16824
1874
+ pygpt_net/plugin/audio_input/simple.py,sha256=Oeqh-El1kKqUWtxW6IPNtktkYuv-7UTBOr_axIqbmbE,8498
1845
1875
  pygpt_net/plugin/audio_input/worker.py,sha256=06-08cQ63n7V-47tjUdUdE_gs5GMQTG--b5fxeHP1Zs,12186
1846
1876
  pygpt_net/plugin/audio_output/__init__.py,sha256=UglI8YPtzF_-buENrR0vqDuvzlK3CJdIXKx-iaJozZM,510
1847
1877
  pygpt_net/plugin/audio_output/config.py,sha256=IA2K-9fQMZSwYGyi30Uh5qAlYwuqwaHo3dtDJ13vQdo,1208
@@ -1879,7 +1909,7 @@ pygpt_net/plugin/cmd_files/__init__.py,sha256=tvF6upS93L61NRbkQmscSJXM7ZzPlmVj16
1879
1909
  pygpt_net/plugin/cmd_files/config.py,sha256=2vjT71vIINPdd4xEanJVIa5sc-p9cYO2vCyBO7TWYlo,13601
1880
1910
  pygpt_net/plugin/cmd_files/output.py,sha256=bJpmVgaUoNrNozKAygw_B6fCHlODrTQ6U9uBNph2Z3E,2136
1881
1911
  pygpt_net/plugin/cmd_files/plugin.py,sha256=fWPh5jxeyI-sAJ9q3-rx4CHFP41T_YW95f6NU_CLsTM,5020
1882
- pygpt_net/plugin/cmd_files/worker.py,sha256=U_LQ9jbPZuNOe03PDn37FSA1XxMBFN1y7yle8xRpU00,34960
1912
+ pygpt_net/plugin/cmd_files/worker.py,sha256=8UxhnEwhw-qQfF_ZNUbI5B6q4CevHMwc7zfo7JOOu0Q,35059
1883
1913
  pygpt_net/plugin/cmd_history/__init__.py,sha256=zklvSPXcIifknHSHEBxV_Jg0Ja6xbidbVSle-4uEJ28,511
1884
1914
  pygpt_net/plugin/cmd_history/config.py,sha256=RrjssJshpdkyRFQ8u8y6KI2Nrqxr3IwZ6fu7uIc0Tvg,9714
1885
1915
  pygpt_net/plugin/cmd_history/plugin.py,sha256=2zFhf4_TT8mt-KkC1e1E32zocoGyUTvNb7wBtExB3No,11160
@@ -2010,13 +2040,16 @@ pygpt_net/provider/agents/openai/evolve.py,sha256=hBsYIokVCWLWB0syHoLQqWgEiEfR9J
2010
2040
  pygpt_net/provider/agents/openai/supervisor.py,sha256=cUsVns-ZZ7kK78SNcHRt3UgfePjB6NWCOrauSfn_BnI,13229
2011
2041
  pygpt_net/provider/api/__init__.py,sha256=L8086E7nrFP_rLRRTpQfR46cHUxsoR5giHjVBAX1xps,879
2012
2042
  pygpt_net/provider/api/anthropic/__init__.py,sha256=YHUOyuaPp74t3MWgDVdcpEutsGta3Iasw940-S4uwkk,1975
2013
- pygpt_net/provider/api/google/__init__.py,sha256=7kv6gPJYCZR06hOFYUQ_njEFw-t0SxOy3i6JY71o_5s,8965
2014
- pygpt_net/provider/api/google/audio.py,sha256=e025Ps-2ovbt8H3h0hBk-W2D1ohuOd5z4qehMrZfcMQ,4015
2015
- pygpt_net/provider/api/google/chat.py,sha256=cZyNKuZm5lrxt9XXT9r6XPZD2htu4LqMiyjhQaHOUmM,21989
2016
- pygpt_net/provider/api/google/image.py,sha256=Uz2cYj_mymzRj21BrJxPufhB1k-qTU00kckhdlcpWXQ,10800
2043
+ pygpt_net/provider/api/google/__init__.py,sha256=GUbjEMXSSs91tUEaLCM0aFC5M56Ck6Ydau_aeyEVBjQ,10065
2044
+ pygpt_net/provider/api/google/audio.py,sha256=Ymq_Q3WofC-8TfYOGu5NmNuRW_omvl8UCS3Q0WEBxnA,4149
2045
+ pygpt_net/provider/api/google/chat.py,sha256=eLDh0k1DtDHZ7V1cfg0m75uICQffAKBH6IReHmuxy_Y,23057
2046
+ pygpt_net/provider/api/google/image.py,sha256=OSu4y5q36bVVirnw0Uh5k9PqmWHiXDuS8Api_MKSwt0,16794
2047
+ pygpt_net/provider/api/google/realtime/__init__.py,sha256=Ism0i9dihgxYuzQHgA6vzmsswZnBOAvVqQp0j5G2JLQ,519
2048
+ pygpt_net/provider/api/google/realtime/client.py,sha256=d6q7yUKMYI5Co6jTEHmwbiIPdELYXCPkgOX-3L1m-9c,80127
2049
+ pygpt_net/provider/api/google/realtime/realtime.py,sha256=2I3rjeswcIk2SZbTtHqKVZlPpe-KJ1fPwyWfE4MPsMY,7360
2017
2050
  pygpt_net/provider/api/google/tools.py,sha256=DHzMz7RcnluWL-KImFNMtlZUBo1v3lLNJQb8HEWLslg,7672
2018
2051
  pygpt_net/provider/api/google/vision.py,sha256=iQCDNTTuMSZaca0p453t2manwJop1Vpjd2lPJCdZsuA,3895
2019
- pygpt_net/provider/api/openai/__init__.py,sha256=CgaLGt44utfYgPQWZyag3Ip3X4eks2RtDzXDuCa6l1g,10955
2052
+ pygpt_net/provider/api/openai/__init__.py,sha256=Nr9QPWFLuK7PPmaxLJhYKppjT6mO_v2gP8l64BD8-k0,11547
2020
2053
  pygpt_net/provider/api/openai/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2021
2054
  pygpt_net/provider/api/openai/agents/client.py,sha256=opH2DnYPVRuWvc284AMjJBWUhipV8hdWcs3yqWA2g7s,2372
2022
2055
  pygpt_net/provider/api/openai/agents/computer.py,sha256=wilD84b9Wl20ZRbBVgW-97k-a-9fYrMb2fbtQZoTqYk,11764
@@ -2031,6 +2064,9 @@ pygpt_net/provider/api/openai/completion.py,sha256=9nWYcwvqwu16Qg1mWhWLAEzMTj-5f
2031
2064
  pygpt_net/provider/api/openai/computer.py,sha256=fNTSjIYBoOrW7hLnc-KQuvffKniSai8O7oM8DTv6Tds,11814
2032
2065
  pygpt_net/provider/api/openai/container.py,sha256=jWsFkgofa5SKjztQnJZdfhryX-dYAceijv9F3iQkbl0,4922
2033
2066
  pygpt_net/provider/api/openai/image.py,sha256=Cst3qQ_Nfze7nK2Yj_Jkh9hjRjUlisg60R9_FYc6Ajs,11555
2067
+ pygpt_net/provider/api/openai/realtime/__init__.py,sha256=Ism0i9dihgxYuzQHgA6vzmsswZnBOAvVqQp0j5G2JLQ,519
2068
+ pygpt_net/provider/api/openai/realtime/client.py,sha256=4_Evnlb0vobuNbJwNEej1oL9cAhlnfV02tbons7JQSY,76208
2069
+ pygpt_net/provider/api/openai/realtime/realtime.py,sha256=qQ9wpvPpxPNwcFshSI1_uudkFISgk4aLDCu5JvwLjQY,7454
2034
2070
  pygpt_net/provider/api/openai/remote_tools.py,sha256=WUoN5XrafwyLz8s58pslOE1YD9EViGPhQOzN24_n1gM,5677
2035
2071
  pygpt_net/provider/api/openai/responses.py,sha256=tfDbcnsG5rhdr8Wxlv9jjJjDptaiy46nhfg2lpHfqI4,29678
2036
2072
  pygpt_net/provider/api/openai/store.py,sha256=mjhuc7jO6zikEkKox3fxHZ4lbPrvkntZ__No8AAu7Ag,17279
@@ -2045,15 +2081,17 @@ pygpt_net/provider/audio_input/__init__.py,sha256=lOkgAiuNUqkAl_QrIG3ZsUznIZeJYt
2045
2081
  pygpt_net/provider/audio_input/base.py,sha256=2PxE9QeEd4fODLYx_sO-1iVdAFOxHVHjtse7-GIqix8,1826
2046
2082
  pygpt_net/provider/audio_input/bing_speech_recognition.py,sha256=Rmpo7yaU8pU7r8KaH57U8Lc-NVE9EpF5wToL_qpMKhw,2825
2047
2083
  pygpt_net/provider/audio_input/google_cloud_speech_recognition.py,sha256=wRUuTv_5IPoew7Rn2NjTSDQDZkEJbDQlTFNK_o5hwyo,2911
2084
+ pygpt_net/provider/audio_input/google_genai.py,sha256=wvbZIcFdqgVF792-GnE7Oryev9zozMsPft2yFrwM9to,3679
2048
2085
  pygpt_net/provider/audio_input/google_speech_recognition.py,sha256=1mX-WA-sPqnyBiVD_BGC99v3rolxm_beRqD8XnNqh78,2847
2049
2086
  pygpt_net/provider/audio_input/openai_whisper.py,sha256=4JxR8ZpdTAUxQscVpYXuKNFreN5ad0hq5ADvdmNc5xk,2251
2050
2087
  pygpt_net/provider/audio_input/openai_whisper_local.py,sha256=fkz8zvTgscJeNJ6Hkr0mS0IHE3tOTRqaZ7bgpOxV3p8,3129
2051
2088
  pygpt_net/provider/audio_output/__init__.py,sha256=lOkgAiuNUqkAl_QrIG3ZsUznIZeJYtokgzEnDB8gRic,488
2052
2089
  pygpt_net/provider/audio_output/base.py,sha256=1z3vuwUYOOzUD24GNZN_CyeO_VOhFUA35adpXAnXPHk,2002
2053
2090
  pygpt_net/provider/audio_output/eleven_labs.py,sha256=XN6-iZYOowbiWLNK9oBWW2DxT4DPWj6AQhA7P6xI1bM,4236
2054
- pygpt_net/provider/audio_output/google_tts.py,sha256=M1bDnfVRDUdWEdcxk6iW0s6yQHbIjW2h2dZXSmMRe9o,4723
2091
+ pygpt_net/provider/audio_output/google_genai_tts.py,sha256=hO6Ng-hMDb7yzw_JAVYKcltYdvIBCv21ILLBFDLRZdQ,8274
2092
+ pygpt_net/provider/audio_output/google_tts.py,sha256=4VMNBR4O8srUNTkdjuQn8jHmOdFV3XZIbrmMOdmAtAo,4291
2055
2093
  pygpt_net/provider/audio_output/ms_azure_tts.py,sha256=-8YlUwzUruR1cX6N5EZZfZSLOlOGbCvyHXTDwDD9GAg,4965
2056
- pygpt_net/provider/audio_output/openai_tts.py,sha256=zMaZbvxaslVhgf1IG-aK72gGYnl5D7ennHE_tByZemI,3017
2094
+ pygpt_net/provider/audio_output/openai_tts.py,sha256=7A2FybS2HBlGRPdFWgsXxlr4KI_I1sQLNu4CZ8SZjIo,3156
2057
2095
  pygpt_net/provider/core/__init__.py,sha256=YHQ86AUqjoP79N5vRqOmK-6FUDLQhCl_0y6Z4Tun3dU,488
2058
2096
  pygpt_net/provider/core/assistant/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
2059
2097
  pygpt_net/provider/core/assistant/base.py,sha256=zFJs4LxnBvUBri9-FgOYjv1wyfDFEzEu9H01GcTYL0s,1251
@@ -2085,7 +2123,7 @@ pygpt_net/provider/core/calendar/db_sqlite/storage.py,sha256=QDclQCQdr4QyRIqjgGX
2085
2123
  pygpt_net/provider/core/config/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
2086
2124
  pygpt_net/provider/core/config/base.py,sha256=cbvzbMNqL2XgC-36gGubnU37t94AX7LEw0lecb2Nm80,1365
2087
2125
  pygpt_net/provider/core/config/json_file.py,sha256=GCcpCRQnBiSLWwlGbG9T3ZgiHkTfp5Jsg2KYkZcakBw,6789
2088
- pygpt_net/provider/core/config/patch.py,sha256=B4hihjJI8AQHaPoPNlvXK3kVksagkRzhZPSsH3-YYxg,124971
2126
+ pygpt_net/provider/core/config/patch.py,sha256=1_X_rWX-ISGQR-oQZSkbQsZinwfj10AVgiZY9psc80Y,125698
2089
2127
  pygpt_net/provider/core/ctx/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
2090
2128
  pygpt_net/provider/core/ctx/base.py,sha256=Tfb4MDNe9BXXPU3lbzpdYwJF9S1oa2-mzgu5XT4It9g,3003
2091
2129
  pygpt_net/provider/core/ctx/db_sqlite/__init__.py,sha256=0dP8VhI4bnFsQQKxAkaleKFlyaMycDD_cnE7gBCa57Y,512
@@ -2114,7 +2152,7 @@ pygpt_net/provider/core/mode/patch.py,sha256=VS2KCYW05jxLd-lcStNY1k4fHKUUrVVLTdR
2114
2152
  pygpt_net/provider/core/model/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
2115
2153
  pygpt_net/provider/core/model/base.py,sha256=L1x2rHha8a8hnCUYxZr88utay1EWEx5qBXW_2acpAN0,1319
2116
2154
  pygpt_net/provider/core/model/json_file.py,sha256=l74l_n5PEHNp-FsoHtO9LHflz3RFKwDwKwOKN0stgZw,8418
2117
- pygpt_net/provider/core/model/patch.py,sha256=w9W6629QgScNDoSzABwkFBpHzoNirM9YII6vyMz6Qi8,36329
2155
+ pygpt_net/provider/core/model/patch.py,sha256=CPOS5m3rQ5yQ-T6fDaxEqB1gJYs3BeqXVfnelsNuObA,36992
2118
2156
  pygpt_net/provider/core/notepad/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
2119
2157
  pygpt_net/provider/core/notepad/base.py,sha256=7aPhild8cALTaN3JEbI0YrkIW1DRIycGQWTfsdH6WcQ,1323
2120
2158
  pygpt_net/provider/core/notepad/db_sqlite/__init__.py,sha256=0dP8VhI4bnFsQQKxAkaleKFlyaMycDD_cnE7gBCa57Y,512
@@ -2138,7 +2176,7 @@ pygpt_net/provider/llms/anthropic.py,sha256=rK0Gy5E_wzigc9GdkESMLCVyOACzp5YjVEfN
2138
2176
  pygpt_net/provider/llms/azure_openai.py,sha256=QxgK3KeqEEa38B-ezro6AJyd4D4bR9d8E3fW0a6Mc0Q,3812
2139
2177
  pygpt_net/provider/llms/base.py,sha256=D6GKahfZNUzihkCo7gQYGzkHG6XH8d_P5Y5iAnLboXM,6359
2140
2178
  pygpt_net/provider/llms/deepseek_api.py,sha256=Jljj6Ce123q3eCrIizfFPQIsf47OzRaBK4jIbNZdLzg,3267
2141
- pygpt_net/provider/llms/google.py,sha256=3Td8JsvJ6fclSY_zn4YaEWilPcBCFqeIBzWcZ7Gg1nI,3432
2179
+ pygpt_net/provider/llms/google.py,sha256=yPYQnEtauid1zVBuY6lllAisuiVThBZKZfLz7U01bvc,3422
2142
2180
  pygpt_net/provider/llms/hugging_face.py,sha256=qWyGVqosDw9WVsKbZc5IG7j4jjfVPeCKr6gPAn8Tyus,1800
2143
2181
  pygpt_net/provider/llms/hugging_face_api.py,sha256=oY5dE-9rFv8Cd6Hv8ZriHvL46ZrT3KyvJFuLokNaNRY,3402
2144
2182
  pygpt_net/provider/llms/hugging_face_router.py,sha256=db_P5DktU0SNObKqumaFfzEcyR1Wn7f9FwoLVlN4u2U,4477
@@ -2336,8 +2374,8 @@ pygpt_net/ui/layout/toolbox/agent.py,sha256=2aQb2DWrzn3GHULw77-u0284LZcMwrF--IE2
2336
2374
  pygpt_net/ui/layout/toolbox/agent_llama.py,sha256=Znnh3-nhJz8dyhxzeKkng6ll2EbdRG8SXMI2XdtkvqE,3088
2337
2375
  pygpt_net/ui/layout/toolbox/assistants.py,sha256=xcGlZNWOCrli0BPiVgRT7K63LcX-pMhZZN__XvAgzu0,4442
2338
2376
  pygpt_net/ui/layout/toolbox/computer_env.py,sha256=QP_Qv4X28ineVX4vFfykmV-RDjgJpQp_oBHne3R4zY4,2210
2339
- pygpt_net/ui/layout/toolbox/footer.py,sha256=zK7127--ow19SYcKQGGhiEzT5FZBOKzFk-xyf7UVZM0,5649
2340
- pygpt_net/ui/layout/toolbox/image.py,sha256=NXN6F7pR4Mw-Vx2oFadmy5gGVm7mGy0o2pdBHDMSLOE,2154
2377
+ pygpt_net/ui/layout/toolbox/footer.py,sha256=PU1cNDtDUaG5OrdX-7I3o7FV91XpYb7ZIERzzaTEwdk,6448
2378
+ pygpt_net/ui/layout/toolbox/image.py,sha256=3Rl1gLksLZ4dEIq4AB3gWRIVBelYrZQ6qZv9uehsoiY,2455
2341
2379
  pygpt_net/ui/layout/toolbox/indexes.py,sha256=o-f1jKhypjdQA-1NEDIxJwwMaFdIdjU48GFPcjHq0aY,6824
2342
2380
  pygpt_net/ui/layout/toolbox/mode.py,sha256=MfVunjZZ3Wi0o4sbWBqg74c2-W6BNDHr3ylZevLZb8c,2085
2343
2381
  pygpt_net/ui/layout/toolbox/model.py,sha256=OxcxSyFCQ3z6XAwj991X4KiSb78Upfn4v4m3991yvsw,1707
@@ -2439,7 +2477,7 @@ pygpt_net/ui/widget/option/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5e
2439
2477
  pygpt_net/ui/widget/option/checkbox.py,sha256=duzgGPOVbHFnWILVEu5gDUa6sHeDOvQaaj9IsY-HbU8,3954
2440
2478
  pygpt_net/ui/widget/option/checkbox_list.py,sha256=j3lks2qPaZZdfZEV9EbN5kH8gEquVZFUDF_rq7uxjn0,5770
2441
2479
  pygpt_net/ui/widget/option/cmd.py,sha256=Ii_i9hR4oRmG4-TPZ-FHuTv3I1vL96YLcDP2QSKmAbI,5800
2442
- pygpt_net/ui/widget/option/combo.py,sha256=g1UAi8Y5-eF-Pi1xA0xoEDfEIfXjI-RRj9VP-FFqyFA,4891
2480
+ pygpt_net/ui/widget/option/combo.py,sha256=H_1Dkc-rrFFVXf1Mr6YSijOj1Ybt655gOxGGOOq2BsU,5406
2443
2481
  pygpt_net/ui/widget/option/dictionary.py,sha256=67F-BGOMuH-MCEvdvE-cVqkyE8xR8euHH5zSkhRqUco,13517
2444
2482
  pygpt_net/ui/widget/option/input.py,sha256=xeTbKOO6JFRb1seZCJQTtvehW1uSJx-l8mYMf-HqA4E,9574
2445
2483
  pygpt_net/ui/widget/option/prompt.py,sha256=SgRd0acp13_c19tWjYYChcGgAwik9tsZKKsX1Ciqgp4,2818
@@ -2470,8 +2508,8 @@ pygpt_net/ui/widget/textarea/web.py,sha256=cqs5i67bD19_BNgcYL7NXlwYBei4UYSL_IYPZ
2470
2508
  pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2471
2509
  pygpt_net/ui/widget/vision/camera.py,sha256=v1qEncaZr5pXocO5Cpk_lsgfCMvfFigdJmzsYfzvCl0,1877
2472
2510
  pygpt_net/utils.py,sha256=o3V8NLcTQm8XkP6n_M88jVbI7OjnryRmsvnvf7K136A,9100
2473
- pygpt_net-2.6.30.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
2474
- pygpt_net-2.6.30.dist-info/METADATA,sha256=sbzw8MLMkK60-gFyZP0J1c2w5tmJBCTGxIVqDh0YFUg,160682
2475
- pygpt_net-2.6.30.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
2476
- pygpt_net-2.6.30.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2477
- pygpt_net-2.6.30.dist-info/RECORD,,
2511
+ pygpt_net-2.6.31.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
2512
+ pygpt_net-2.6.31.dist-info/METADATA,sha256=Y3Y425O7z1zgd77gj-L2ooc_DZHgjecKitb8LjTkRqM,161365
2513
+ pygpt_net-2.6.31.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
2514
+ pygpt_net-2.6.31.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2515
+ pygpt_net-2.6.31.dist-info/RECORD,,