pygpt-net 2.6.11__py3-none-any.whl → 2.6.13__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 +11 -0
- pygpt_net/__init__.py +3 -3
- pygpt_net/app.py +7 -1
- pygpt_net/controller/chat/output.py +2 -2
- pygpt_net/controller/chat/response.py +9 -4
- pygpt_net/controller/chat/stream.py +10 -4
- pygpt_net/controller/presets/editor.py +1 -1
- pygpt_net/core/agents/runner.py +2 -0
- pygpt_net/core/agents/runners/llama_workflow.py +13 -4
- pygpt_net/core/ctx/bag.py +2 -1
- pygpt_net/core/debug/debug.py +12 -3
- pygpt_net/core/experts/experts.py +1 -1
- pygpt_net/core/presets/presets.py +1 -2
- pygpt_net/core/render/web/body.py +52 -10
- pygpt_net/core/render/web/pid.py +20 -4
- pygpt_net/core/render/web/renderer.py +395 -88
- pygpt_net/data/config/config.json +3 -3
- pygpt_net/data/config/models.json +3 -3
- pygpt_net/item/ctx.py +3 -3
- pygpt_net/launcher.py +2 -9
- pygpt_net/provider/gpt/__init__.py +13 -4
- pygpt_net/tools/code_interpreter/body.py +2 -3
- pygpt_net/ui/layout/toolbox/presets.py +0 -4
- pygpt_net/ui/main.py +5 -2
- pygpt_net/ui/widget/textarea/html.py +2 -7
- pygpt_net/ui/widget/textarea/web.py +35 -27
- pygpt_net/utils.py +15 -8
- {pygpt_net-2.6.11.dist-info → pygpt_net-2.6.13.dist-info}/METADATA +13 -2
- {pygpt_net-2.6.11.dist-info → pygpt_net-2.6.13.dist-info}/RECORD +32 -32
- {pygpt_net-2.6.11.dist-info → pygpt_net-2.6.13.dist-info}/LICENSE +0 -0
- {pygpt_net-2.6.11.dist-info → pygpt_net-2.6.13.dist-info}/WHEEL +0 -0
- {pygpt_net-2.6.11.dist-info → pygpt_net-2.6.13.dist-info}/entry_points.txt +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"__meta__": {
|
|
3
|
-
"version": "2.6.
|
|
4
|
-
"app.version": "2.6.
|
|
5
|
-
"updated_at": "2025-08-
|
|
3
|
+
"version": "2.6.13",
|
|
4
|
+
"app.version": "2.6.13",
|
|
5
|
+
"updated_at": "2025-08-19T00:00:00"
|
|
6
6
|
},
|
|
7
7
|
"access.audio.event.speech": false,
|
|
8
8
|
"access.audio.event.speech.disabled": [],
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"__meta__": {
|
|
3
|
-
"version": "2.6.
|
|
4
|
-
"app.version": "2.6.
|
|
5
|
-
"updated_at": "2025-08-
|
|
3
|
+
"version": "2.6.13",
|
|
4
|
+
"app.version": "2.6.13",
|
|
5
|
+
"updated_at": "2025-08-19T23:07:35"
|
|
6
6
|
},
|
|
7
7
|
"items": {
|
|
8
8
|
"SpeakLeash/bielik-11b-v2.3-instruct:Q4_K_M": {
|
pygpt_net/item/ctx.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.19 07:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import copy
|
|
@@ -103,7 +103,7 @@ class CtxItem:
|
|
|
103
103
|
if self.input is None:
|
|
104
104
|
return None
|
|
105
105
|
if self.hidden_input:
|
|
106
|
-
return
|
|
106
|
+
return "\n\n".join(self.input, self.hidden_input)
|
|
107
107
|
return self.input
|
|
108
108
|
|
|
109
109
|
@property
|
|
@@ -116,7 +116,7 @@ class CtxItem:
|
|
|
116
116
|
if self.output is None:
|
|
117
117
|
return None
|
|
118
118
|
if self.hidden_output:
|
|
119
|
-
return
|
|
119
|
+
return "\n\n".join(self.output, self.hidden_output)
|
|
120
120
|
return self.output
|
|
121
121
|
|
|
122
122
|
def clear_reply(self):
|
pygpt_net/launcher.py
CHANGED
|
@@ -6,12 +6,9 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.19 07:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
|
-
import asyncio
|
|
13
|
-
from qasync import QEventLoop
|
|
14
|
-
|
|
15
12
|
import os
|
|
16
13
|
import sys
|
|
17
14
|
import argparse
|
|
@@ -123,8 +120,6 @@ class Launcher:
|
|
|
123
120
|
QCoreApplication.setAttribute(Qt.AA_ShareOpenGLContexts)
|
|
124
121
|
self.app = QApplication(sys.argv)
|
|
125
122
|
self.app.setAttribute(QtCore.Qt.AA_DontUseNativeMenuBar)
|
|
126
|
-
self.loop = QEventLoop(self.app)
|
|
127
|
-
asyncio.set_event_loop(self.loop)
|
|
128
123
|
self.window = MainWindow(self.app, args=args)
|
|
129
124
|
self.shortcut_filter = GlobalShortcutFilter(self.window)
|
|
130
125
|
|
|
@@ -295,6 +290,4 @@ class Launcher:
|
|
|
295
290
|
# self.window.core.debug.mem("INIT") # debug memory usage
|
|
296
291
|
signal.signal(signal.SIGTERM, self.handle_signal)
|
|
297
292
|
signal.signal(signal.SIGINT, self.handle_signal)
|
|
298
|
-
|
|
299
|
-
self.loop.run_forever()
|
|
300
|
-
# sys.exit(self.app.exec())
|
|
293
|
+
sys.exit(self.app.exec())
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.19 07:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
from openai import OpenAI
|
|
@@ -63,6 +63,7 @@ class Gpt:
|
|
|
63
63
|
self.vision = Vision(window)
|
|
64
64
|
self.client = None
|
|
65
65
|
self.locked = False
|
|
66
|
+
self.last_client_args = None # last client args used, for debug purposes
|
|
66
67
|
|
|
67
68
|
def get_client(
|
|
68
69
|
self,
|
|
@@ -78,7 +79,15 @@ class Gpt:
|
|
|
78
79
|
"""
|
|
79
80
|
# update client args by mode and model
|
|
80
81
|
args = self.window.core.models.prepare_client_args(mode, model)
|
|
81
|
-
self.client
|
|
82
|
+
if self.client is None or self.last_client_args != args:
|
|
83
|
+
if self.client is not None:
|
|
84
|
+
try:
|
|
85
|
+
self.client.close() # close previous client if exists
|
|
86
|
+
except Exception as e:
|
|
87
|
+
self.window.core.debug.log(e)
|
|
88
|
+
print("Error closing previous GPT client:", e)
|
|
89
|
+
self.client = OpenAI(**args)
|
|
90
|
+
self.last_client_args = args
|
|
82
91
|
return self.client
|
|
83
92
|
|
|
84
93
|
def call(self, context: BridgeContext, extra: dict = None) -> bool:
|
|
@@ -308,8 +317,8 @@ class Gpt:
|
|
|
308
317
|
return
|
|
309
318
|
if self.client is not None:
|
|
310
319
|
try:
|
|
311
|
-
|
|
312
|
-
self.client
|
|
320
|
+
pass
|
|
321
|
+
# self.client.close()
|
|
313
322
|
except Exception as e:
|
|
314
323
|
self.window.core.debug.log(e)
|
|
315
324
|
print("Error closing GPT client:", e)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.
|
|
9
|
+
# Updated Date: 2025.08.19 07:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import os
|
|
@@ -185,8 +185,7 @@ class Body:
|
|
|
185
185
|
function highlightCode() {
|
|
186
186
|
document.querySelectorAll('pre code').forEach(el => {
|
|
187
187
|
if (!el.classList.contains('hljs')) hljs.highlightElement(el);
|
|
188
|
-
});
|
|
189
|
-
restoreCollapsedCode();
|
|
188
|
+
});
|
|
190
189
|
}
|
|
191
190
|
function scrollToBottom() {
|
|
192
191
|
getScrollPosition(); // store using bridge
|
|
@@ -118,8 +118,6 @@ class Presets:
|
|
|
118
118
|
self.window.ui.models[self.id] = model
|
|
119
119
|
view.setModel(model)
|
|
120
120
|
|
|
121
|
-
blocker = QtCore.QSignalBlocker(model)
|
|
122
|
-
|
|
123
121
|
rc = model.rowCount()
|
|
124
122
|
if rc:
|
|
125
123
|
model.removeRows(0, rc)
|
|
@@ -144,6 +142,4 @@ class Presets:
|
|
|
144
142
|
model.setData(index, name, QtCore.Qt.DisplayRole)
|
|
145
143
|
model.setData(index, tooltip, QtCore.Qt.ToolTipRole)
|
|
146
144
|
|
|
147
|
-
del blocker
|
|
148
|
-
|
|
149
145
|
view.restore_selection()
|
pygpt_net/ui/main.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.19 07:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import os
|
|
@@ -115,7 +115,10 @@ class MainWindow(QMainWindow, QtStyleTools):
|
|
|
115
115
|
if not render_debug:
|
|
116
116
|
QLoggingCategory.setFilterRules("*.info=false")
|
|
117
117
|
else:
|
|
118
|
-
|
|
118
|
+
if "QTWEBENGINE_CHROMIUM_FLAGS" in os.environ:
|
|
119
|
+
os.environ["QTWEBENGINE_CHROMIUM_FLAGS"] += " --enable-logging --log-level=0"
|
|
120
|
+
else:
|
|
121
|
+
os.environ["QTWEBENGINE_CHROMIUM_FLAGS"] = "--enable-logging --log-level=0"
|
|
119
122
|
|
|
120
123
|
# OpenGL disable
|
|
121
124
|
if self.core.config.get("render.open_gl") is False:
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.19 07:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import re
|
|
@@ -207,12 +207,7 @@ class HtmlOutput(QWebEngineView):
|
|
|
207
207
|
|
|
208
208
|
:param success: True if loaded successfully
|
|
209
209
|
"""
|
|
210
|
-
|
|
211
|
-
event = RenderEvent(RenderEvent.ON_PAGE_LOAD, {
|
|
212
|
-
"meta": self.meta,
|
|
213
|
-
"tab": self.tab,
|
|
214
|
-
})
|
|
215
|
-
self.window.dispatch(event)
|
|
210
|
+
pass
|
|
216
211
|
|
|
217
212
|
def get_selected_text(self) -> str:
|
|
218
213
|
"""
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.19 07:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
|
+
from PySide6 import QtCore
|
|
12
13
|
from PySide6.QtCore import Qt, QObject, Signal, Slot, QEvent, QTimer
|
|
13
14
|
from PySide6.QtWebChannel import QWebChannel
|
|
14
15
|
from PySide6.QtWebEngineCore import QWebEngineSettings, QWebEnginePage, QWebEngineProfile
|
|
@@ -22,6 +23,16 @@ from pygpt_net.core.text.web_finder import WebFinder
|
|
|
22
23
|
from pygpt_net.ui.widget.tabs.layout import FocusEventFilter
|
|
23
24
|
from pygpt_net.utils import trans, mem_clean
|
|
24
25
|
|
|
26
|
+
def make_shared_profile():
|
|
27
|
+
prof = QWebEngineProfile("app", None)
|
|
28
|
+
prof.setHttpCacheType(QWebEngineProfile.MemoryHttpCache)
|
|
29
|
+
prof.setHttpCacheMaximumSize(32 * 1024 * 1024) # 32MB
|
|
30
|
+
prof.setPersistentCookiesPolicy(QWebEngineProfile.NoPersistentCookies)
|
|
31
|
+
prof.setSpellCheckEnabled(False)
|
|
32
|
+
return prof
|
|
33
|
+
|
|
34
|
+
SHARED_PROFILE = None
|
|
35
|
+
|
|
25
36
|
import pygpt_net.icons_rc
|
|
26
37
|
|
|
27
38
|
class ChatWebOutput(QWebEngineView):
|
|
@@ -41,17 +52,20 @@ class ChatWebOutput(QWebEngineView):
|
|
|
41
52
|
self.filter = FocusEventFilter(self, self.on_focus)
|
|
42
53
|
self.installEventFilter(self)
|
|
43
54
|
|
|
44
|
-
|
|
45
|
-
|
|
55
|
+
global SHARED_PROFILE
|
|
56
|
+
if not SHARED_PROFILE:
|
|
57
|
+
SHARED_PROFILE = make_shared_profile()
|
|
58
|
+
|
|
59
|
+
self.plain = None
|
|
60
|
+
self.html_content = None
|
|
46
61
|
self.meta = None
|
|
47
62
|
self.tab = None
|
|
48
63
|
self.setProperty('class', 'layout-output-web')
|
|
49
64
|
|
|
50
65
|
self._glwidget = None
|
|
51
66
|
self._glwidget_filter_installed = False
|
|
52
|
-
self._profile = self._create_profile(parent=self)
|
|
53
67
|
|
|
54
|
-
self.setPage(CustomWebEnginePage(self.window, self, profile=
|
|
68
|
+
self.setPage(CustomWebEnginePage(self.window, self, profile=SHARED_PROFILE))
|
|
55
69
|
|
|
56
70
|
def _detach_gl_event_filter(self):
|
|
57
71
|
"""Detach OpenGL widget event filter if installed"""
|
|
@@ -110,9 +124,9 @@ class ChatWebOutput(QWebEngineView):
|
|
|
110
124
|
"""
|
|
111
125
|
p = QWebEngineProfile(parent or self)
|
|
112
126
|
try:
|
|
113
|
-
p.setHttpCacheType(QWebEngineProfile.NoCache)
|
|
114
127
|
p.setHttpCacheMaximumSize(0)
|
|
115
128
|
p.setPersistentCookiesPolicy(QWebEngineProfile.NoPersistentCookies)
|
|
129
|
+
p.setSpellCheckEnabled(False)
|
|
116
130
|
except Exception:
|
|
117
131
|
pass
|
|
118
132
|
return p
|
|
@@ -167,26 +181,21 @@ class ChatWebOutput(QWebEngineView):
|
|
|
167
181
|
return new_view
|
|
168
182
|
|
|
169
183
|
def resetPage(self):
|
|
170
|
-
"""Reset current page
|
|
171
|
-
self.
|
|
172
|
-
self.
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
self.setUpdatesEnabled(False)
|
|
179
|
-
new_profile = self._create_profile(parent=self)
|
|
180
|
-
new_page = CustomWebEnginePage(self.window, self, profile=new_profile)
|
|
181
|
-
self.setPage(new_page)
|
|
182
|
-
|
|
183
|
-
if old_page:
|
|
184
|
-
self._teardown_page(old_page)
|
|
185
|
-
|
|
186
|
-
self._release_profile_after_page(old_page, old_profile)
|
|
187
|
-
self._profile = new_profile
|
|
184
|
+
"""Reset current page without creating a new one"""
|
|
185
|
+
self.plain = None
|
|
186
|
+
self.html_content = None
|
|
187
|
+
p = self.page()
|
|
188
|
+
if not p:
|
|
189
|
+
self.setPage(CustomWebEnginePage(self.window, self, profile=SHARED_PROFILE))
|
|
190
|
+
p = self.page()
|
|
188
191
|
|
|
189
|
-
|
|
192
|
+
p.runJavaScript(
|
|
193
|
+
f"""clean();"""
|
|
194
|
+
)
|
|
195
|
+
try:
|
|
196
|
+
p.history().clear()
|
|
197
|
+
except Exception:
|
|
198
|
+
pass
|
|
190
199
|
mem_clean()
|
|
191
200
|
|
|
192
201
|
def on_delete(self):
|
|
@@ -208,8 +217,6 @@ class ChatWebOutput(QWebEngineView):
|
|
|
208
217
|
if page:
|
|
209
218
|
self._teardown_page(page)
|
|
210
219
|
|
|
211
|
-
self._release_profile_after_page(page, prof)
|
|
212
|
-
|
|
213
220
|
# safely unhook signals (may not have been hooked)
|
|
214
221
|
for sig, slot in (
|
|
215
222
|
(self.loadFinished, self.on_page_loaded),
|
|
@@ -511,6 +518,7 @@ class CustomWebEnginePage(QWebEnginePage):
|
|
|
511
518
|
return super().acceptNavigationRequest(url, _type, isMainFrame)
|
|
512
519
|
|
|
513
520
|
def javaScriptConsoleMessage(self, level, message, line_number, source_id):
|
|
521
|
+
# print("[JS CONSOLE] Line", line_number, ":", message)
|
|
514
522
|
self.signals.js_message.emit(line_number, message, source_id) # handled in debug controller
|
|
515
523
|
|
|
516
524
|
def cleanup(self):
|
pygpt_net/utils.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.19 07:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import json
|
|
@@ -14,7 +14,8 @@ import os
|
|
|
14
14
|
import re
|
|
15
15
|
from datetime import datetime
|
|
16
16
|
|
|
17
|
-
from PySide6
|
|
17
|
+
from PySide6 import QtCore, QtGui
|
|
18
|
+
from PySide6.QtWidgets import QApplication
|
|
18
19
|
|
|
19
20
|
from pygpt_net.core.locale import Locale
|
|
20
21
|
|
|
@@ -268,19 +269,25 @@ def mem_clean():
|
|
|
268
269
|
gc.collect()
|
|
269
270
|
except Exception:
|
|
270
271
|
pass
|
|
272
|
+
|
|
271
273
|
try:
|
|
272
|
-
|
|
274
|
+
QApplication.sendPostedEvents(None, QtCore.QEvent.DeferredDelete)
|
|
275
|
+
QApplication.processEvents(QtCore.QEventLoop.AllEvents, 50)
|
|
273
276
|
except Exception:
|
|
274
277
|
pass
|
|
278
|
+
|
|
279
|
+
try:
|
|
280
|
+
QtGui.QPixmapCache.clear()
|
|
281
|
+
except Exception:
|
|
282
|
+
pass
|
|
283
|
+
|
|
275
284
|
try:
|
|
276
285
|
if sys.platform.startswith("linux"):
|
|
277
286
|
import ctypes, ctypes.util
|
|
278
|
-
|
|
279
|
-
libc = ctypes.CDLL(libc_path, use_errno=True)
|
|
287
|
+
libc = ctypes.CDLL(ctypes.util.find_library("c") or "libc.so.6")
|
|
280
288
|
if hasattr(libc, "malloc_trim"):
|
|
281
|
-
libc.malloc_trim
|
|
282
|
-
|
|
283
|
-
ok = bool(libc.malloc_trim(0))
|
|
289
|
+
libc.malloc_trim(0)
|
|
290
|
+
ok = True
|
|
284
291
|
elif sys.platform == "win32":
|
|
285
292
|
import ctypes, ctypes.wintypes
|
|
286
293
|
kernel32 = ctypes.WinDLL("kernel32", use_last_error=True)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pygpt-net
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.13
|
|
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
|
|
@@ -108,7 +108,7 @@ Description-Content-Type: text/markdown
|
|
|
108
108
|
|
|
109
109
|
[](https://snapcraft.io/pygpt)
|
|
110
110
|
|
|
111
|
-
Release: **2.6.
|
|
111
|
+
Release: **2.6.13** | build: **2025-08-19** | Python: **>=3.10, <3.14**
|
|
112
112
|
|
|
113
113
|
> Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
|
|
114
114
|
>
|
|
@@ -4566,6 +4566,17 @@ may consume additional tokens that are not displayed in the main window.
|
|
|
4566
4566
|
|
|
4567
4567
|
## Recent changes:
|
|
4568
4568
|
|
|
4569
|
+
**2.6.13 (2025-08-19)**
|
|
4570
|
+
|
|
4571
|
+
- Fix: Do not load the index in experts if it is not provided.
|
|
4572
|
+
- Fix: Load remote images in the webview.
|
|
4573
|
+
- Fix: Presets list refresh.
|
|
4574
|
+
- Optimize context items reload.
|
|
4575
|
+
|
|
4576
|
+
**2.6.12 (2025-08-19)**
|
|
4577
|
+
|
|
4578
|
+
- Optimized web renderer memory cleanup.
|
|
4579
|
+
|
|
4569
4580
|
**2.6.11 (2025-08-18)**
|
|
4570
4581
|
|
|
4571
4582
|
- Added the ability to close the dialog window with the Esc key.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
pygpt_net/CHANGELOG.txt,sha256=
|
|
1
|
+
pygpt_net/CHANGELOG.txt,sha256=mIS7CX8lAdbx3zb74FeNykLgd2mU9MzXG7oLcd5kq7E,99799
|
|
2
2
|
pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
|
|
3
|
-
pygpt_net/__init__.py,sha256=
|
|
4
|
-
pygpt_net/app.py,sha256=
|
|
3
|
+
pygpt_net/__init__.py,sha256=9Fm5b7tTbBNs7FhSh5IYr4XuxdOrvxl4AnYemzPgh84,1373
|
|
4
|
+
pygpt_net/app.py,sha256=2IXjjYJ0tm-iFn3pHu3-JGoFAnN9YvmXGHPmeOhpU3Y,20999
|
|
5
5
|
pygpt_net/config.py,sha256=LCKrqQfePVNrAvH3EY_1oZx1Go754sDoyUneJ0iGWFI,16660
|
|
6
6
|
pygpt_net/container.py,sha256=NsMSHURaEC_eW8vrCNdztwqkxB7jui3yVlzUOMYvCHg,4124
|
|
7
7
|
pygpt_net/controller/__init__.py,sha256=FiAP-Md0a57HSH1sSFflB4aq6Jho9M1lejk9VJxM8is,5969
|
|
@@ -40,10 +40,10 @@ pygpt_net/controller/chat/common.py,sha256=mOHvXqj3pPCzNPU82i7NXSmglW8jh7G5cCKDe
|
|
|
40
40
|
pygpt_net/controller/chat/files.py,sha256=QZAi1Io57EU7htKt9M5I9OoGAFX51OH2V5-NsJktOto,2838
|
|
41
41
|
pygpt_net/controller/chat/image.py,sha256=yPX26gsz0fLnyXR88lpVyvvHnKA-yZwfXJ4paUDYkeM,8579
|
|
42
42
|
pygpt_net/controller/chat/input.py,sha256=EPA90r6GqHIlu4JJbr0cuvKIEYSs6LVkimxrWHAyyX0,12390
|
|
43
|
-
pygpt_net/controller/chat/output.py,sha256=
|
|
43
|
+
pygpt_net/controller/chat/output.py,sha256=aSgZ8E8IaP4Jjd0ab6eXhebM_YIRPW7pRJUesYCgDQg,10864
|
|
44
44
|
pygpt_net/controller/chat/render.py,sha256=YIKWMZIUXD3f_11p9mXjgg-TtudZTjJ26iHXTn553Qc,20401
|
|
45
|
-
pygpt_net/controller/chat/response.py,sha256=
|
|
46
|
-
pygpt_net/controller/chat/stream.py,sha256=
|
|
45
|
+
pygpt_net/controller/chat/response.py,sha256=tacJOG_iG7IjEFiZ4iDggEVVS9mbL0e92JBC--7bnCY,12543
|
|
46
|
+
pygpt_net/controller/chat/stream.py,sha256=zmDGI_Z9Rn8IYv6vEIVBMTOGjjY0zlfmM3qJMddRGRI,21994
|
|
47
47
|
pygpt_net/controller/chat/text.py,sha256=ktluNw9ItG4g9p3OpOSmgALhFf1Gnonhl3J9kLzdTqU,10743
|
|
48
48
|
pygpt_net/controller/chat/vision.py,sha256=LsFc0TZZwY8dVtJH6Q5iha8rUQCf5HhOMuRXMtnLzZU,3578
|
|
49
49
|
pygpt_net/controller/command/__init__.py,sha256=xHOjVYXKiHT-FEXNSGJZoYcU8SslQ2vr6DMqJcVPDNE,511
|
|
@@ -112,7 +112,7 @@ pygpt_net/controller/plugins/plugins.py,sha256=jO5KcC0jsIcwF2U6eSZqicGKUr2MzC0F7
|
|
|
112
112
|
pygpt_net/controller/plugins/presets.py,sha256=8EsEwpU2MjWMQu1kcY4JTcyqqN8pjBrcxA2uW2tFU_A,11674
|
|
113
113
|
pygpt_net/controller/plugins/settings.py,sha256=pa0iJvpb1SXWD8hqYoC_BuSogx2-5u6nwcFF3TH5sWw,5732
|
|
114
114
|
pygpt_net/controller/presets/__init__.py,sha256=Bb9_aAvGxQcKCW2fvG5CAJ6ZUwNYN3GaCf3BXB9eGfI,511
|
|
115
|
-
pygpt_net/controller/presets/editor.py,sha256
|
|
115
|
+
pygpt_net/controller/presets/editor.py,sha256=-fFDkIqDwhYwAaSRuK6IayjX8RriqFoc0_LKblSOi-Q,39449
|
|
116
116
|
pygpt_net/controller/presets/experts.py,sha256=dfPKmAPO-7gaUD2ILs3lR005ir32G5vV-Sa5TGEHwOU,5820
|
|
117
117
|
pygpt_net/controller/presets/presets.py,sha256=Tq9AIgr042ALu6hEQunBxnUZTzLdzmp4IStWprzmyjg,21918
|
|
118
118
|
pygpt_net/controller/settings/__init__.py,sha256=hn5n_Hti6byJQdQCs4Ld2EbPoZF7dHVMwqaBPscePQ8,512
|
|
@@ -148,14 +148,14 @@ pygpt_net/core/agents/memory.py,sha256=9Jz9kT-xT8QPpGeXEpWopJUGBLLHu6Ys_-fRrg6BW
|
|
|
148
148
|
pygpt_net/core/agents/observer/__init__.py,sha256=qVIBJKpGbc0k7PTESAwAR7SbN-pbkBMJUTzeliCAaJU,651
|
|
149
149
|
pygpt_net/core/agents/observer/evaluation.py,sha256=VngvBMXzgJaAvWV10oo1HDJ_Nzce55A59DsDGDKLlVo,7633
|
|
150
150
|
pygpt_net/core/agents/provider.py,sha256=rjxnuqzRxv2Z1d9i_wKpREwJBTeTgtyBDYtyHuwcSPA,2440
|
|
151
|
-
pygpt_net/core/agents/runner.py,sha256=
|
|
151
|
+
pygpt_net/core/agents/runner.py,sha256=lenDhjTp1AXCnwd__7Audror6mAuZutDhqzxhe1CD3w,12171
|
|
152
152
|
pygpt_net/core/agents/runners/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
153
153
|
pygpt_net/core/agents/runners/base.py,sha256=XjheBYhBZan51r3vkUh5uf00sYiRj8btZUeUP1jpqlA,5687
|
|
154
154
|
pygpt_net/core/agents/runners/helpers.py,sha256=0iQQlSg_pJfxY_gQEWImnyAVkTUQYYSW67Z9DS7oUYw,8305
|
|
155
155
|
pygpt_net/core/agents/runners/llama_assistant.py,sha256=a_Abkc8u1S8vr6lUIDRrzTM9sQnEvyZA8nZxXaYp05w,2492
|
|
156
156
|
pygpt_net/core/agents/runners/llama_plan.py,sha256=CC3WPG9KUxd_dRjPZROOrmPQrWQ_u8C0nRx0TCzi9bE,13391
|
|
157
157
|
pygpt_net/core/agents/runners/llama_steps.py,sha256=1SBLp5t4TUsxpYIUtSSnBy5Sd2AxheDlv2AXimls-Vg,7328
|
|
158
|
-
pygpt_net/core/agents/runners/llama_workflow.py,sha256=
|
|
158
|
+
pygpt_net/core/agents/runners/llama_workflow.py,sha256=yDy1YDnG0A2OIs1FnJArXql8-BPnT7qpEywh3HqhR8c,12086
|
|
159
159
|
pygpt_net/core/agents/runners/loop.py,sha256=opcVGx8WFjJesLlmMzoCBgP06Ajh6j_Taat4zCTumHg,6022
|
|
160
160
|
pygpt_net/core/agents/runners/openai_workflow.py,sha256=J47INptxu8Uc40UfAWNRRiHRYL6ZM6lPojoqeHsC-mc,7989
|
|
161
161
|
pygpt_net/core/agents/tools.py,sha256=6V2IjSF0m8cNY0HI7vW9bTLjKzR1KtcP0XTcHBvrPjU,21727
|
|
@@ -192,7 +192,7 @@ pygpt_net/core/chain/completion.py,sha256=GGRA-q6sQgPnSibiwHBwk7jgT0MgOkka1_jK2-
|
|
|
192
192
|
pygpt_net/core/command/__init__.py,sha256=3pjRwUt1VGN8P5HE1i2rokNhxtiCL-drc_mmu4tDe-o,512
|
|
193
193
|
pygpt_net/core/command/command.py,sha256=1UvkQ_xCGiZFH7BpX8QAwsknRAoEbVUDvXxnT6-cdb8,23149
|
|
194
194
|
pygpt_net/core/ctx/__init__.py,sha256=hsqzIDxcwIIjF-7Zr5SkkhQV9LLmIYndQ_dohK20bg0,507
|
|
195
|
-
pygpt_net/core/ctx/bag.py,sha256=
|
|
195
|
+
pygpt_net/core/ctx/bag.py,sha256=IcUrmS8KafOHwS_7ufhet6GY90fp4xmG7dS6W17gw4o,1340
|
|
196
196
|
pygpt_net/core/ctx/container.py,sha256=D2GOOThsOb974xd6uJWlWv-nwm1FJ7pGGH_LXNBzgkY,5063
|
|
197
197
|
pygpt_net/core/ctx/ctx.py,sha256=YBsUNlJPuyTpEUvD9K-U_3CF-Piv6-A28meIPlWDmKA,41340
|
|
198
198
|
pygpt_net/core/ctx/idx.py,sha256=3Zi-48OWlU80si-Z7mVjnsc7TYATXK9g1dM0M5sXsV4,8167
|
|
@@ -210,7 +210,7 @@ pygpt_net/core/debug/console/__init__.py,sha256=HAeCpOIaHnDNzW8Y_E-2W7pvKiCwwzBc
|
|
|
210
210
|
pygpt_net/core/debug/console/console.py,sha256=m_L5-AHlUSJ96wYYp3Qph_Jpt4hRuGZWQSZmlkyXRss,3644
|
|
211
211
|
pygpt_net/core/debug/context.py,sha256=pNGrYBe6bmyMCU1MJPjAXNT-4SubEu-1DFGJafXwI_U,5838
|
|
212
212
|
pygpt_net/core/debug/db.py,sha256=TQtNpCjrcFw943nae3OIyq0af_okjr-aTfFKS_QhQQk,776
|
|
213
|
-
pygpt_net/core/debug/debug.py,sha256=
|
|
213
|
+
pygpt_net/core/debug/debug.py,sha256=jBbNlHYPy17UQYiW6f8jrPUmq046shdYeNHi_i8Cff4,13748
|
|
214
214
|
pygpt_net/core/debug/events.py,sha256=OCVWSCCHkZkoQFjwO8c76xL02Gdcphv8eRJoXKrd-dQ,2206
|
|
215
215
|
pygpt_net/core/debug/indexes.py,sha256=M8Uf6NT1LswyXOdpZ_QzkBbhvv08U1rhMb6PV7OaNtE,5416
|
|
216
216
|
pygpt_net/core/debug/kernel.py,sha256=kFw3dp2Azl_g6omMoxlieV8E8pn5JqtI2PTHBmJ0fAU,1317
|
|
@@ -232,7 +232,7 @@ pygpt_net/core/events/event.py,sha256=uxNdPGaV5KDBaosPM6uxio7dPig091wAoz-OdOPCmx
|
|
|
232
232
|
pygpt_net/core/events/kernel.py,sha256=Y5zQ-YCex04OQNMRMC7Q8g55A-imyj9XQ0Jkuyk2eCU,2074
|
|
233
233
|
pygpt_net/core/events/render.py,sha256=Xfncp6ESvjPyBLtFq6KiNxckAFDN0DsUOJ_mrowjfnM,2525
|
|
234
234
|
pygpt_net/core/experts/__init__.py,sha256=oscAmAEsCZclyHU7k3z5JzYqilwIO7J90e6oTa29tZ0,511
|
|
235
|
-
pygpt_net/core/experts/experts.py,sha256=
|
|
235
|
+
pygpt_net/core/experts/experts.py,sha256=lbniH2e_wQV0ovwDHryJhj4aKATsOgog0XCWiFmPP3k,30443
|
|
236
236
|
pygpt_net/core/filesystem/__init__.py,sha256=KZLS3s_otd3Md9eDA6FN-b4CtOCWl_fplUlM9V6hTy8,514
|
|
237
237
|
pygpt_net/core/filesystem/actions.py,sha256=2lRVF_MpIxCwbH8DkugP0K6pY6FymLeH6LKVR2rtQGQ,4152
|
|
238
238
|
pygpt_net/core/filesystem/editor.py,sha256=or7cT2xhZfDwjX47reyXQCt-_1c4h_xPJDddYi1auNw,4284
|
|
@@ -280,7 +280,7 @@ pygpt_net/core/platforms/platforms.py,sha256=599XwekDL1cNs5p8i89rcUO05Dl4t1XFBPf
|
|
|
280
280
|
pygpt_net/core/plugins/__init__.py,sha256=NOKL-CNsF4rrKTBpsN-ue92H4pTUGKlgDCwr1iA0geY,511
|
|
281
281
|
pygpt_net/core/plugins/plugins.py,sha256=2tARWlrBbjarWINp-woHMqB4jzp2SvzVVZVrLzFhgxg,14832
|
|
282
282
|
pygpt_net/core/presets/__init__.py,sha256=NZjBxjGv4fgEX6Hp8FznsWK5QqD1Tl7zyp2Ir3ufXv4,511
|
|
283
|
-
pygpt_net/core/presets/presets.py,sha256=
|
|
283
|
+
pygpt_net/core/presets/presets.py,sha256=rdumbBggdXJCZ45o4aFOBswzW4GDGXrWBAAEZneJRig,12961
|
|
284
284
|
pygpt_net/core/profile/__init__.py,sha256=ovh37AKXCbEz1owutNltCXRkmhZj097wcdZLSzkJUvk,511
|
|
285
285
|
pygpt_net/core/profile/profile.py,sha256=ZpXKTwbViskCUDBn8JvxSk7wRFdfrwMfs7Gb3O7N_48,7840
|
|
286
286
|
pygpt_net/core/prompt/__init__.py,sha256=4GH-2XlmPjySjMTEWWb_gZDDetT8lZaoUc-P6FzECus,510
|
|
@@ -303,11 +303,11 @@ pygpt_net/core/render/plain/helpers.py,sha256=CMF84kSeuQnkgZVHmN_9YWaL5BC958tDE9
|
|
|
303
303
|
pygpt_net/core/render/plain/pid.py,sha256=Pz3v1tnLj-XI_9vcaVkCf9SZ2EgVs4LYV4qzelBMoOg,1119
|
|
304
304
|
pygpt_net/core/render/plain/renderer.py,sha256=Cm-HXHd5Mc6LAiDW5qNXOyZoLKlUo16I_cU-B2cGnYM,15595
|
|
305
305
|
pygpt_net/core/render/web/__init__.py,sha256=istp5dsn6EkLEP7lOBeDb8RjodUcWZqjcEvTroaTT-w,489
|
|
306
|
-
pygpt_net/core/render/web/body.py,sha256=
|
|
306
|
+
pygpt_net/core/render/web/body.py,sha256=rybg76GiLWowR-qEvM0Y64woSsO4KSBnww4f8BU7GgI,54872
|
|
307
307
|
pygpt_net/core/render/web/helpers.py,sha256=ivrXrCqRIUWHDmu3INu-i6XUlB2W9IOO8iYyqpbnSRU,5438
|
|
308
308
|
pygpt_net/core/render/web/parser.py,sha256=pDFc9Tf8P-jvrDilXyT1fukcQHbixHRJ9Dn9hF10Gko,12892
|
|
309
|
-
pygpt_net/core/render/web/pid.py,sha256=
|
|
310
|
-
pygpt_net/core/render/web/renderer.py,sha256=
|
|
309
|
+
pygpt_net/core/render/web/pid.py,sha256=pXBdPb8hw_aZS2Rtz3pLBpuybpXrzoqwYAFWBal9bLE,3685
|
|
310
|
+
pygpt_net/core/render/web/renderer.py,sha256=fli0pggAI1s2nKLkSb4EmrxWzrKgpp7WeZ1g9Kd31mE,56060
|
|
311
311
|
pygpt_net/core/render/web/syntax_highlight.py,sha256=QSLGF5cJL_Xeqej7_TYwY_5C2w9enXV_cMEuaJ3C43U,2005
|
|
312
312
|
pygpt_net/core/settings/__init__.py,sha256=GQ6_gJ2jf_Chm7ZuZLvkcvEh_sfMDVMBieeoJi2iPI4,512
|
|
313
313
|
pygpt_net/core/settings/settings.py,sha256=onqwNiICm2VhHfmXLvp1MiEJ14m2jzeeI2pjUiaUwtY,7787
|
|
@@ -343,8 +343,8 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
|
|
|
343
343
|
pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
|
|
344
344
|
pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
|
|
345
345
|
pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
|
|
346
|
-
pygpt_net/data/config/config.json,sha256=
|
|
347
|
-
pygpt_net/data/config/models.json,sha256=
|
|
346
|
+
pygpt_net/data/config/config.json,sha256=DUf0m1LtMcAg4lRCztxceDZ81yTIFmxakacp2-8TduE,24924
|
|
347
|
+
pygpt_net/data/config/models.json,sha256=OKm6IhIcxgPghfc3h-UQWI72igH2BqXMo3H9C2vgq20,109650
|
|
348
348
|
pygpt_net/data/config/modes.json,sha256=M882iiqX_R2sNQl9cqZ3k-uneEvO9wpARtHRMLx_LHw,2265
|
|
349
349
|
pygpt_net/data/config/presets/agent_code_act.json,sha256=GYHqhxtKFLUCvRI3IJAJ7Qe1k8yD9wGGNwManldWzlI,754
|
|
350
350
|
pygpt_net/data/config/presets/agent_openai.json,sha256=bpDJgLRey_effQkzFRoOEGd4aHUrmzeODSDdNzrf62I,730
|
|
@@ -1798,7 +1798,7 @@ pygpt_net/item/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,48
|
|
|
1798
1798
|
pygpt_net/item/assistant.py,sha256=65NZlvvR2VHWi6ZbPGi46qX0n0iJpbGHF2AxWXAIQlU,9588
|
|
1799
1799
|
pygpt_net/item/attachment.py,sha256=Wo-36L_R-P--JjDEpnpbaYo3vuIqr1s82m5rman9h28,2818
|
|
1800
1800
|
pygpt_net/item/calendar_note.py,sha256=EBhAAS09E5tIO3XhW_iA_wofSUywLWlYtiiMJJzVc3g,2114
|
|
1801
|
-
pygpt_net/item/ctx.py,sha256=
|
|
1801
|
+
pygpt_net/item/ctx.py,sha256=EboFJD0eVQZ5jMqOG94O4SvzF6J2C7EPvR-oSHYqMqg,20770
|
|
1802
1802
|
pygpt_net/item/index.py,sha256=2feQPpOzrNkAGF4f8nKMAQzxDBAMpt6DKzCcYpCBE1E,1682
|
|
1803
1803
|
pygpt_net/item/mode.py,sha256=zMgJUA8943vg_WfF7Qwa63BdR3lMn7H8ItMpAj8z2Z0,601
|
|
1804
1804
|
pygpt_net/item/model.py,sha256=H_q20RZEebN5MJnswnf291LQUNJAaFuSHagq9xE4NCE,11104
|
|
@@ -1807,7 +1807,7 @@ pygpt_net/item/preset.py,sha256=35J8o0JueG5tbfnL7vP-EUHEE8e-Jc4G1HuyV90Dcug,6892
|
|
|
1807
1807
|
pygpt_net/item/prompt.py,sha256=BXaAOw95n6NdXNRJgSFBIms0ypLrJl_0wpedOOFsjE4,1564
|
|
1808
1808
|
pygpt_net/js.qrc,sha256=OqPzGN6U2Y-uENLFlfDY2BxywCAnU0uds4QcbB7me5Q,542
|
|
1809
1809
|
pygpt_net/js_rc.py,sha256=5f7l2zJIzW-gHHndytWVXz2sjKyR924GCpOSmDX9sZI,2456868
|
|
1810
|
-
pygpt_net/launcher.py,sha256=
|
|
1810
|
+
pygpt_net/launcher.py,sha256=bqR175OVZ_Q3yKsIM5NiHB1S1b-vXrIglsQyr6zyrWU,10125
|
|
1811
1811
|
pygpt_net/migrations/Version20231227152900.py,sha256=1Rw1mK2mVQs0B2HrbxHICu1Pd1X5jg4yZIrytnR5N5Y,2849
|
|
1812
1812
|
pygpt_net/migrations/Version20231230095000.py,sha256=A1_e9oC_E4LSo9uBFiiI2dKH7N-SERFp7DMX1R_8LXQ,906
|
|
1813
1813
|
pygpt_net/migrations/Version20231231230000.py,sha256=SICzfCBpm32P_YMlVIW1LRumEvPbuI2cb9eKsHpcBqg,901
|
|
@@ -2078,7 +2078,7 @@ pygpt_net/provider/core/preset/patch.py,sha256=b0agSLVfen7KX8wYvb8Haed8sw7Mhqvr2
|
|
|
2078
2078
|
pygpt_net/provider/core/prompt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2079
2079
|
pygpt_net/provider/core/prompt/base.py,sha256=EYUA30T1QwJ9RSD0uW5x6VEstgIXNwgutmaXI64BWhw,1304
|
|
2080
2080
|
pygpt_net/provider/core/prompt/json_file.py,sha256=5yfW1RgEa36tX4-ntze4PavWLry0YG43D2LO23_MrzE,4838
|
|
2081
|
-
pygpt_net/provider/gpt/__init__.py,sha256=
|
|
2081
|
+
pygpt_net/provider/gpt/__init__.py,sha256=JHlM1Ec6-O6ZSbsnzRLAN6EsYx9REOB-l5z_QE6oVs8,10942
|
|
2082
2082
|
pygpt_net/provider/gpt/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2083
2083
|
pygpt_net/provider/gpt/agents/client.py,sha256=opH2DnYPVRuWvc284AMjJBWUhipV8hdWcs3yqWA2g7s,2372
|
|
2084
2084
|
pygpt_net/provider/gpt/agents/computer.py,sha256=y4ARywdK4vv1gajaQt5Zi4doVrRjRM734bUE6IjmVlc,11757
|
|
@@ -2207,7 +2207,7 @@ pygpt_net/tools/audio_transcriber/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
|
|
|
2207
2207
|
pygpt_net/tools/audio_transcriber/ui/dialogs.py,sha256=D-roLNGj5Zkl7_2nlahGX4fwDzanBbrtr4TLQ30-S_E,5666
|
|
2208
2208
|
pygpt_net/tools/base.py,sha256=KxTSYGIG8eQyL_loyAWP2loPJni0TOg_wwvlq5tLYrg,3833
|
|
2209
2209
|
pygpt_net/tools/code_interpreter/__init__.py,sha256=7FScUoJWFBsF6Rbmt14zb2YEERcywW_xAeX0GTAHhX4,508
|
|
2210
|
-
pygpt_net/tools/code_interpreter/body.py,sha256=
|
|
2210
|
+
pygpt_net/tools/code_interpreter/body.py,sha256=tR_RJflalCCjbQeTt9gkDe32kh2WI-nL_-xgZybLiGA,14094
|
|
2211
2211
|
pygpt_net/tools/code_interpreter/tool.py,sha256=MV3lQONFzJiSl81hHzQel3kB3SvtWGmP77rvdLOchpA,23994
|
|
2212
2212
|
pygpt_net/tools/code_interpreter/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2213
2213
|
pygpt_net/tools/code_interpreter/ui/dialogs.py,sha256=iYCtmn_gPMKhvy8Ygga_oYPVg80zP3-10SZgv0O6xYQ,5429
|
|
@@ -2308,11 +2308,11 @@ pygpt_net/ui/layout/toolbox/image.py,sha256=QiMDZmsLklIEVDibq1FRraD30NJll_bn4HVp
|
|
|
2308
2308
|
pygpt_net/ui/layout/toolbox/indexes.py,sha256=fPRuMS96HX3VJdvbGVg0Z7N6P0LTbrYM0BYjXZOUUic,8502
|
|
2309
2309
|
pygpt_net/ui/layout/toolbox/mode.py,sha256=EoXDzzhh3XRE5i42sWmiOCLT_m_sUELYXfk_vpDNoSs,1772
|
|
2310
2310
|
pygpt_net/ui/layout/toolbox/model.py,sha256=9JHW8yzTHUh6TJmOAylriwlDsyrB8J9wDpJpHR__z9I,1789
|
|
2311
|
-
pygpt_net/ui/layout/toolbox/presets.py,sha256=
|
|
2311
|
+
pygpt_net/ui/layout/toolbox/presets.py,sha256=praww59pJLD7l5TITJh--B5H7V_OH1_8t3KSw2yvgFw,5565
|
|
2312
2312
|
pygpt_net/ui/layout/toolbox/prompt.py,sha256=jebF-q1S1Et6ISa9vI0_nM4sb7liDesAXJHtZ5Ll7ZI,4006
|
|
2313
2313
|
pygpt_net/ui/layout/toolbox/toolbox.py,sha256=zEZr_XDz9QbPKL0u0KMSt1b8yOG-ao1gmZPvWWVpuVs,3392
|
|
2314
2314
|
pygpt_net/ui/layout/toolbox/vision.py,sha256=GZY-N2z8re1LN1ntsy-3Ius8OY4DujmJpyJ1qP2ZRxs,2447
|
|
2315
|
-
pygpt_net/ui/main.py,sha256=
|
|
2315
|
+
pygpt_net/ui/main.py,sha256=ycgY02hqLqBFo9Sy8M5EnOXIEBHfmVwBpRhXgeUyKR4,14066
|
|
2316
2316
|
pygpt_net/ui/menu/__init__.py,sha256=wAIKG9wLWfYv6tpXCTXptWb_XKoCc-4lYWLDvV1bVYk,508
|
|
2317
2317
|
pygpt_net/ui/menu/about.py,sha256=Y5Ok96MVsFPekvL4dPYK01QPGUUbZvfAsZztcxQhXh8,7232
|
|
2318
2318
|
pygpt_net/ui/menu/audio.py,sha256=Sb8NTAyMnPj4johTvBKwocHzq67XypIdw7K7hjf2760,3494
|
|
@@ -2425,7 +2425,7 @@ pygpt_net/ui/widget/textarea/console.py,sha256=nCV92S5JR4DiRWH6akWhygxg9kaLLxnCP
|
|
|
2425
2425
|
pygpt_net/ui/widget/textarea/create.py,sha256=f4SrAW-2hjkKYIPrwVliSYH-LkgsQP8G13Jkq8EKhuI,1358
|
|
2426
2426
|
pygpt_net/ui/widget/textarea/editor.py,sha256=dX1PQnMxKF7WsMgOEGDyc9XVJM440PueHVflJH1h258,6024
|
|
2427
2427
|
pygpt_net/ui/widget/textarea/find.py,sha256=29-5i6VByMI45M_yz_84bXpwN-Z0alUHg7sVOXZD6So,1543
|
|
2428
|
-
pygpt_net/ui/widget/textarea/html.py,sha256=
|
|
2428
|
+
pygpt_net/ui/widget/textarea/html.py,sha256=QnrCTYc5daqqm5pWhRAQETv0Mkpa-XlSAaBW_36oI8Q,12431
|
|
2429
2429
|
pygpt_net/ui/widget/textarea/input.py,sha256=SYrkkO7lomp2fT1GzzsqR-J2_UuHcZcghgJ9kT8K1h8,6664
|
|
2430
2430
|
pygpt_net/ui/widget/textarea/name.py,sha256=vcyAY_pJWJoS_IJqdJjhIeDSniTL9rfpt8aaobWNFVY,1132
|
|
2431
2431
|
pygpt_net/ui/widget/textarea/notepad.py,sha256=fLG3hmdOYM8FBMZ1pGe0CcQXiSe5LfFNv5u7toeEo3M,9568
|
|
@@ -2433,12 +2433,12 @@ pygpt_net/ui/widget/textarea/output.py,sha256=8T2spzqVYHKopSB83p1ULazGZ14nFJhXLB
|
|
|
2433
2433
|
pygpt_net/ui/widget/textarea/rename.py,sha256=NwuGRIeWMo7WfsMguAFpTqdOz1eTiXbxrDXGsbWF_TY,1358
|
|
2434
2434
|
pygpt_net/ui/widget/textarea/search_input.py,sha256=phEXf50VcfCRBen0p2iEAzuX2zmrSE3nWVRfWmtHKpo,5228
|
|
2435
2435
|
pygpt_net/ui/widget/textarea/url.py,sha256=xbNQxoM5fYI1ZWbvybQkPmNPrIq3yhtNPBOSOWftZCg,1337
|
|
2436
|
-
pygpt_net/ui/widget/textarea/web.py,sha256=
|
|
2436
|
+
pygpt_net/ui/widget/textarea/web.py,sha256=3XA7Ue8PtxYkVbZRaOPIGjpC5Iko37RlxfO358UEdrk,19425
|
|
2437
2437
|
pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
|
|
2438
2438
|
pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
|
|
2439
|
-
pygpt_net/utils.py,sha256=
|
|
2440
|
-
pygpt_net-2.6.
|
|
2441
|
-
pygpt_net-2.6.
|
|
2442
|
-
pygpt_net-2.6.
|
|
2443
|
-
pygpt_net-2.6.
|
|
2444
|
-
pygpt_net-2.6.
|
|
2439
|
+
pygpt_net/utils.py,sha256=gGbw-lBTodGg_uBx6zKEwa58GaVNZN1I9zY_ZDyJ9xg,8872
|
|
2440
|
+
pygpt_net-2.6.13.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
|
|
2441
|
+
pygpt_net-2.6.13.dist-info/METADATA,sha256=R_jmkQKpFEVHUQXvknuy-Rqcp0IC5u9bWDBl9Q0sSwQ,189510
|
|
2442
|
+
pygpt_net-2.6.13.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
2443
|
+
pygpt_net-2.6.13.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
|
|
2444
|
+
pygpt_net-2.6.13.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|