pygpt-net 2.6.55__py3-none-any.whl → 2.6.57__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 (218) hide show
  1. pygpt_net/CHANGELOG.txt +12 -0
  2. pygpt_net/__init__.py +3 -3
  3. pygpt_net/app.py +26 -22
  4. pygpt_net/config.py +44 -0
  5. pygpt_net/controller/audio/audio.py +0 -0
  6. pygpt_net/controller/calendar/calendar.py +0 -0
  7. pygpt_net/controller/calendar/note.py +0 -0
  8. pygpt_net/controller/chat/chat.py +0 -0
  9. pygpt_net/controller/chat/handler/openai_stream.py +2 -1
  10. pygpt_net/controller/chat/handler/worker.py +0 -0
  11. pygpt_net/controller/chat/remote_tools.py +5 -3
  12. pygpt_net/controller/chat/render.py +0 -0
  13. pygpt_net/controller/chat/text.py +0 -0
  14. pygpt_net/controller/ctx/common.py +0 -0
  15. pygpt_net/controller/debug/debug.py +26 -2
  16. pygpt_net/controller/debug/fixtures.py +1 -1
  17. pygpt_net/controller/dialogs/confirm.py +15 -1
  18. pygpt_net/controller/dialogs/debug.py +2 -0
  19. pygpt_net/controller/lang/mapping.py +0 -0
  20. pygpt_net/controller/launcher/launcher.py +0 -0
  21. pygpt_net/controller/mode/mode.py +0 -0
  22. pygpt_net/controller/presets/presets.py +0 -0
  23. pygpt_net/controller/realtime/realtime.py +0 -0
  24. pygpt_net/controller/theme/theme.py +0 -0
  25. pygpt_net/controller/ui/mode.py +5 -3
  26. pygpt_net/controller/ui/tabs.py +0 -0
  27. pygpt_net/core/agents/agents.py +3 -1
  28. pygpt_net/core/agents/custom.py +150 -0
  29. pygpt_net/core/agents/provider.py +0 -0
  30. pygpt_net/core/builder/__init__.py +12 -0
  31. pygpt_net/core/builder/graph.py +478 -0
  32. pygpt_net/core/calendar/calendar.py +0 -0
  33. pygpt_net/core/ctx/ctx.py +0 -0
  34. pygpt_net/core/ctx/output.py +0 -0
  35. pygpt_net/core/debug/agent.py +0 -0
  36. pygpt_net/core/debug/agent_builder.py +29 -0
  37. pygpt_net/core/debug/console/console.py +0 -0
  38. pygpt_net/core/debug/db.py +0 -0
  39. pygpt_net/core/debug/debug.py +0 -0
  40. pygpt_net/core/debug/events.py +0 -0
  41. pygpt_net/core/debug/indexes.py +0 -0
  42. pygpt_net/core/debug/kernel.py +0 -0
  43. pygpt_net/core/debug/tabs.py +0 -0
  44. pygpt_net/core/filesystem/filesystem.py +0 -0
  45. pygpt_net/core/fixtures/__init__ +0 -0
  46. pygpt_net/core/fixtures/stream/__init__.py +0 -0
  47. pygpt_net/core/fixtures/stream/generator.py +0 -0
  48. pygpt_net/core/models/models.py +2 -1
  49. pygpt_net/core/plugins/plugins.py +60 -0
  50. pygpt_net/core/render/plain/pid.py +0 -0
  51. pygpt_net/core/render/plain/renderer.py +26 -4
  52. pygpt_net/core/render/web/body.py +46 -4
  53. pygpt_net/core/render/web/debug.py +0 -0
  54. pygpt_net/core/render/web/helpers.py +0 -0
  55. pygpt_net/core/render/web/pid.py +0 -0
  56. pygpt_net/core/render/web/renderer.py +15 -20
  57. pygpt_net/core/tabs/tab.py +0 -0
  58. pygpt_net/core/tabs/tabs.py +0 -0
  59. pygpt_net/core/text/utils.py +0 -0
  60. pygpt_net/css.qrc +0 -0
  61. pygpt_net/css_rc.py +0 -0
  62. pygpt_net/data/config/config.json +8 -7
  63. pygpt_net/data/config/models.json +3 -3
  64. pygpt_net/data/config/settings.json +14 -0
  65. pygpt_net/data/css/web-blocks.css +9 -0
  66. pygpt_net/data/css/web-blocks.dark.css +6 -0
  67. pygpt_net/data/css/web-blocks.darkest.css +6 -0
  68. pygpt_net/data/css/web-chatgpt.css +14 -6
  69. pygpt_net/data/css/web-chatgpt.dark.css +6 -0
  70. pygpt_net/data/css/web-chatgpt.darkest.css +6 -0
  71. pygpt_net/data/css/web-chatgpt.light.css +6 -0
  72. pygpt_net/data/css/web-chatgpt_wide.css +14 -6
  73. pygpt_net/data/css/web-chatgpt_wide.dark.css +6 -0
  74. pygpt_net/data/css/web-chatgpt_wide.darkest.css +6 -0
  75. pygpt_net/data/css/web-chatgpt_wide.light.css +6 -0
  76. pygpt_net/data/fixtures/fake_stream.txt +14 -1
  77. pygpt_net/data/icons/case.svg +0 -0
  78. pygpt_net/data/icons/chat1.svg +0 -0
  79. pygpt_net/data/icons/chat2.svg +0 -0
  80. pygpt_net/data/icons/chat3.svg +0 -0
  81. pygpt_net/data/icons/chat4.svg +0 -0
  82. pygpt_net/data/icons/fit.svg +0 -0
  83. pygpt_net/data/icons/note1.svg +0 -0
  84. pygpt_net/data/icons/note2.svg +0 -0
  85. pygpt_net/data/icons/note3.svg +0 -0
  86. pygpt_net/data/icons/stt.svg +0 -0
  87. pygpt_net/data/icons/translate.svg +0 -0
  88. pygpt_net/data/icons/tts.svg +0 -0
  89. pygpt_net/data/icons/url.svg +0 -0
  90. pygpt_net/data/icons/vision.svg +0 -0
  91. pygpt_net/data/icons/web_off.svg +0 -0
  92. pygpt_net/data/icons/web_on.svg +0 -0
  93. pygpt_net/data/js/app/async.js +166 -0
  94. pygpt_net/data/js/app/bridge.js +88 -0
  95. pygpt_net/data/js/app/common.js +212 -0
  96. pygpt_net/data/js/app/config.js +223 -0
  97. pygpt_net/data/js/app/custom.js +961 -0
  98. pygpt_net/data/js/app/data.js +84 -0
  99. pygpt_net/data/js/app/dom.js +322 -0
  100. pygpt_net/data/js/app/events.js +400 -0
  101. pygpt_net/data/js/app/highlight.js +542 -0
  102. pygpt_net/data/js/app/logger.js +305 -0
  103. pygpt_net/data/js/app/markdown.js +1137 -0
  104. pygpt_net/data/js/app/math.js +167 -0
  105. pygpt_net/data/js/app/nodes.js +395 -0
  106. pygpt_net/data/js/app/queue.js +260 -0
  107. pygpt_net/data/js/app/raf.js +250 -0
  108. pygpt_net/data/js/app/runtime.js +582 -0
  109. pygpt_net/data/js/app/scroll.js +433 -0
  110. pygpt_net/data/js/app/stream.js +2708 -0
  111. pygpt_net/data/js/app/template.js +287 -0
  112. pygpt_net/data/js/app/tool.js +87 -0
  113. pygpt_net/data/js/app/ui.js +86 -0
  114. pygpt_net/data/js/app/user.js +380 -0
  115. pygpt_net/data/js/app/utils.js +64 -0
  116. pygpt_net/data/js/app.min.js +880 -0
  117. pygpt_net/data/js/markdown-it/markdown-it-katex.min.js +1 -1
  118. pygpt_net/data/js/markdown-it/markdown-it.min.js +0 -0
  119. pygpt_net/data/locale/locale.de.ini +3 -1
  120. pygpt_net/data/locale/locale.en.ini +8 -0
  121. pygpt_net/data/locale/locale.es.ini +2 -0
  122. pygpt_net/data/locale/locale.fr.ini +2 -0
  123. pygpt_net/data/locale/locale.it.ini +2 -0
  124. pygpt_net/data/locale/locale.pl.ini +3 -1
  125. pygpt_net/data/locale/locale.uk.ini +3 -1
  126. pygpt_net/data/locale/locale.zh.ini +2 -0
  127. pygpt_net/data/locale/plugin.osm.en.ini +24 -24
  128. pygpt_net/data/locale/plugin.wolfram.en.ini +9 -9
  129. pygpt_net/fonts.qrc +0 -0
  130. pygpt_net/fonts_rc.py +0 -0
  131. pygpt_net/icons.qrc +0 -0
  132. pygpt_net/icons_rc.py +0 -0
  133. pygpt_net/item/agent.py +62 -0
  134. pygpt_net/item/builder_layout.py +62 -0
  135. pygpt_net/js.qrc +24 -1
  136. pygpt_net/js_rc.py +51394 -33687
  137. pygpt_net/plugin/base/worker.py +0 -0
  138. pygpt_net/plugin/cmd_web/config.py +17 -17
  139. pygpt_net/plugin/cmd_web/worker.py +325 -171
  140. pygpt_net/plugin/mcp/__init__.py +0 -0
  141. pygpt_net/plugin/mcp/config.py +0 -0
  142. pygpt_net/plugin/mcp/plugin.py +0 -0
  143. pygpt_net/plugin/mcp/worker.py +0 -0
  144. pygpt_net/plugin/osm/__init__.py +0 -0
  145. pygpt_net/plugin/osm/config.py +0 -0
  146. pygpt_net/plugin/osm/plugin.py +0 -0
  147. pygpt_net/plugin/osm/worker.py +0 -0
  148. pygpt_net/plugin/wolfram/__init__.py +0 -0
  149. pygpt_net/plugin/wolfram/config.py +0 -0
  150. pygpt_net/plugin/wolfram/plugin.py +0 -0
  151. pygpt_net/plugin/wolfram/worker.py +0 -0
  152. pygpt_net/provider/api/anthropic/tools.py +0 -0
  153. pygpt_net/provider/api/google/__init__.py +0 -0
  154. pygpt_net/provider/api/google/video.py +0 -0
  155. pygpt_net/provider/api/openai/agents/experts.py +0 -0
  156. pygpt_net/provider/api/openai/agents/remote_tools.py +0 -0
  157. pygpt_net/provider/api/openai/remote_tools.py +0 -0
  158. pygpt_net/provider/api/openai/responses.py +0 -0
  159. pygpt_net/provider/api/x_ai/__init__.py +2 -0
  160. pygpt_net/provider/api/x_ai/remote.py +0 -0
  161. pygpt_net/provider/core/agent/__init__.py +10 -0
  162. pygpt_net/provider/core/agent/base.py +51 -0
  163. pygpt_net/provider/core/agent/json_file.py +200 -0
  164. pygpt_net/provider/core/config/patch.py +33 -0
  165. pygpt_net/provider/core/config/patches/__init__.py +0 -0
  166. pygpt_net/provider/core/config/patches/patch_before_2_6_42.py +1 -0
  167. pygpt_net/provider/core/ctx/db_sqlite/storage.py +0 -0
  168. pygpt_net/provider/core/model/patches/__init__.py +0 -0
  169. pygpt_net/provider/core/model/patches/patch_before_2_6_42.py +0 -0
  170. pygpt_net/provider/core/preset/patch.py +0 -0
  171. pygpt_net/provider/core/preset/patches/__init__.py +0 -0
  172. pygpt_net/provider/core/preset/patches/patch_before_2_6_42.py +0 -0
  173. pygpt_net/provider/llms/anthropic.py +4 -0
  174. pygpt_net/provider/llms/base.py +2 -0
  175. pygpt_net/provider/llms/deepseek_api.py +2 -0
  176. pygpt_net/provider/llms/google.py +2 -0
  177. pygpt_net/provider/llms/hugging_face_api.py +4 -0
  178. pygpt_net/provider/llms/hugging_face_embedding.py +0 -0
  179. pygpt_net/provider/llms/hugging_face_router.py +2 -0
  180. pygpt_net/provider/llms/local.py +0 -0
  181. pygpt_net/provider/llms/mistral.py +4 -0
  182. pygpt_net/provider/llms/open_router.py +0 -0
  183. pygpt_net/provider/llms/perplexity.py +2 -0
  184. pygpt_net/provider/llms/utils.py +0 -0
  185. pygpt_net/provider/llms/voyage.py +0 -0
  186. pygpt_net/provider/llms/x_ai.py +2 -0
  187. pygpt_net/tools/agent_builder/__init__.py +12 -0
  188. pygpt_net/tools/agent_builder/tool.py +292 -0
  189. pygpt_net/tools/agent_builder/ui/__init__.py +0 -0
  190. pygpt_net/tools/agent_builder/ui/dialogs.py +152 -0
  191. pygpt_net/tools/agent_builder/ui/list.py +228 -0
  192. pygpt_net/tools/code_interpreter/ui/html.py +0 -0
  193. pygpt_net/tools/code_interpreter/ui/widgets.py +0 -0
  194. pygpt_net/tools/html_canvas/tool.py +23 -6
  195. pygpt_net/tools/html_canvas/ui/widgets.py +224 -2
  196. pygpt_net/ui/layout/chat/chat.py +0 -0
  197. pygpt_net/ui/layout/chat/output.py +5 -5
  198. pygpt_net/ui/main.py +10 -9
  199. pygpt_net/ui/menu/debug.py +39 -1
  200. pygpt_net/ui/widget/builder/__init__.py +12 -0
  201. pygpt_net/ui/widget/builder/editor.py +2001 -0
  202. pygpt_net/ui/widget/dialog/base.py +4 -1
  203. pygpt_net/ui/widget/draw/painter.py +0 -0
  204. pygpt_net/ui/widget/element/labels.py +9 -4
  205. pygpt_net/ui/widget/lists/db.py +0 -0
  206. pygpt_net/ui/widget/lists/debug.py +0 -0
  207. pygpt_net/ui/widget/tabs/body.py +0 -0
  208. pygpt_net/ui/widget/textarea/html.py +1 -0
  209. pygpt_net/ui/widget/textarea/input.py +28 -10
  210. pygpt_net/ui/widget/textarea/output.py +21 -1
  211. pygpt_net/ui/widget/textarea/web.py +31 -3
  212. pygpt_net/utils.py +40 -0
  213. {pygpt_net-2.6.55.dist-info → pygpt_net-2.6.57.dist-info}/METADATA +16 -2
  214. {pygpt_net-2.6.55.dist-info → pygpt_net-2.6.57.dist-info}/RECORD +116 -77
  215. pygpt_net/data/js/app.js +0 -5869
  216. {pygpt_net-2.6.55.dist-info → pygpt_net-2.6.57.dist-info}/LICENSE +0 -0
  217. {pygpt_net-2.6.55.dist-info → pygpt_net-2.6.57.dist-info}/WHEEL +0 -0
  218. {pygpt_net-2.6.55.dist-info → pygpt_net-2.6.57.dist-info}/entry_points.txt +0 -0
@@ -4,5 +4,5 @@
4
4
  *
5
5
  * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
6
6
  */
7
- "use strict";var katex=require("katex");function isValidDelim(r,e){var n,t,i=r.posMax,c=!0,o=!0;return n=e>0?r.src.charCodeAt(e-1):-1,t=e+1<=i?r.src.charCodeAt(e+1):-1,(32===n||9===n||t>=48&&t<=57)&&(o=!1),32!==t&&9!==t||(c=!1),{can_open:c,can_close:o}}function math_inline(r,e){var n,t,i,c;if("$"!==r.src[r.pos])return!1;if(!isValidDelim(r,r.pos).can_open)return e||(r.pending+="$"),r.pos+=1,!0;for(t=n=r.pos+1;-1!==(t=r.src.indexOf("$",t));){for(c=t-1;"\\"===r.src[c];)c-=1;if((t-c)%2==1)break;t+=1}return-1===t?(e||(r.pending+="$"),r.pos=n,!0):t-n==0?(e||(r.pending+="$$"),r.pos=n+1,!0):isValidDelim(r,t).can_close?(e||((i=r.push("math_inline","math",0)).markup="$",i.content=r.src.slice(n,t)),r.pos=t+1,!0):(e||(r.pending+="$"),r.pos=n,!0)}function math_block(r,e,n,t){var i,c,o,s,a,l=!1,u=r.bMarks[e]+r.tShift[e],p=r.eMarks[e];if(u+2>p)return!1;if("$$"!==r.src.slice(u,u+2))return!1;if(u+=2,i=r.src.slice(u,p),t)return!0;for("$$"===i.trim().slice(-2)&&(i=i.trim().slice(0,-2),l=!0),o=e;!l&&!(++o>=n)&&!((u=r.bMarks[o]+r.tShift[o])<(p=r.eMarks[o])&&r.tShift[o]<r.blkIndent);)"$$"===r.src.slice(u,p).trim().slice(-2)&&(s=r.src.slice(0,p).lastIndexOf("$$"),c=r.src.slice(u,s),l=!0);return r.line=o+1,(a=r.push("math_block","math",0)).block=!0,a.content=(i&&i.trim()?i+"\n":"")+r.getLines(e+1,o,r.tShift[e],!0)+(c&&c.trim()?c:""),a.map=[e,r.line],a.markup="$$",!0}module.exports=function(r,e){e=e||{};r.inline.ruler.after("escape","math_inline",math_inline),r.block.ruler.after("blockquote","math_block",math_block,{alt:["paragraph","reference","blockquote","list"]}),r.renderer.rules.math_inline=function(r,n){return function(r){e.displayMode=!1;try{return katex.renderToString(r,e)}catch(n){return e.throwOnError&&console.log(n),r}}(r[n].content)},r.renderer.rules.math_block=function(r,n){return function(r){e.displayMode=!0;try{return"<p>"+katex.renderToString(r,e)+"</p>"}catch(n){return e.throwOnError&&console.log(n),r}}(r[n].content)+"\n"}};
7
+ "use strict";function isValidDelim(r,e){var n,t,i=r.posMax,c=!0,o=!0;return n=e>0?r.src.charCodeAt(e-1):-1,t=e+1<=i?r.src.charCodeAt(e+1):-1,(32===n||9===n||t>=48&&t<=57)&&(o=!1),32!==t&&9!==t||(c=!1),{can_open:c,can_close:o}}function math_inline(r,e){var n,t,i,c;if("$"!==r.src[r.pos])return!1;if(!isValidDelim(r,r.pos).can_open)return e||(r.pending+="$"),r.pos+=1,!0;for(t=n=r.pos+1;-1!==(t=r.src.indexOf("$",t));){for(c=t-1;"\\"===r.src[c];)c-=1;if((t-c)%2==1)break;t+=1}return-1===t?(e||(r.pending+="$"),r.pos=n,!0):t-n==0?(e||(r.pending+="$$"),r.pos=n+1,!0):isValidDelim(r,t).can_close?(e||((i=r.push("math_inline","math",0)).markup="$",i.content=r.src.slice(n,t)),r.pos=t+1,!0):(e||(r.pending+="$"),r.pos=n,!0)}function math_block(r,e,n,t){var i,c,o,s,a,l=!1,u=r.bMarks[e]+r.tShift[e],p=r.eMarks[e];if(u+2>p)return!1;if("$$"!==r.src.slice(u,u+2))return!1;if(u+=2,i=r.src.slice(u,p),t)return!0;for("$$"===i.trim().slice(-2)&&(i=i.trim().slice(0,-2),l=!0),o=e;!l&&!(++o>=n)&&!((u=r.bMarks[o]+r.tShift[o])<(p=r.eMarks[o])&&r.tShift[o]<r.blkIndent);)"$$"===r.src.slice(u,p).trim().slice(-2)&&(s=r.src.slice(0,p).lastIndexOf("$$"),c=r.src.slice(u,s),l=!0);return r.line=o+1,(a=r.push("math_block","math",0)).block=!0,a.content=(i&&i.trim()?i+"\n":"")+r.getLines(e+1,o,r.tShift[e],!0)+(c&&c.trim()?c:""),a.map=[e,r.line],a.markup="$$",!0};
8
8
  //# sourceMappingURL=/sm/6d5601e1352e1d22c8e8b51ab0e3ea84e698545be1c630b38738659c8eeec9f1.map
File without changes
@@ -1106,8 +1106,10 @@ settings.api_key.perplexity = Perplexity API-SCHLÜSSEL
1106
1106
  settings.api_key.perplexity.desc = Erforderlich für die Perplexity API.
1107
1107
  settings.api_key.xai = xAI API-SCHLÜSSEL
1108
1108
  settings.api_key.xai.desc = Erforderlich für die xAI API und Grok-Modelle.
1109
- settings.api_proxy = Proxy-Adresse
1109
+ settings.api_proxy = Proxy verwenden
1110
+ settings.api_proxy.enabled = Proxy-Adresse
1110
1111
  settings.api_proxy.desc = Optional, Proxy für API SDK, z.B. http://proxy.example.com oder socks5://user:pass@host:port
1112
+ settings.api_proxy.enabled.desc = Aktivieren Sie diese Option, um einen Proxy für Verbindungen zu APIs zu verwenden
1111
1113
  settings.api_use_responses = Verwenden Sie die Responses API im Chat-Modus
1112
1114
  settings.api_use_responses.desc = Verwenden Sie die Responses API anstelle der ChatCompletions API im Chat-Modus
1113
1115
  settings.api_use_responses_llama = Verwenden Sie die Responses API im Chat mit Dateien Modus (LlamaIndex)
@@ -72,6 +72,10 @@ action.use.read_cmd = Ask for reading this file...
72
72
  action.video.open = Open video or audio...
73
73
  action.video.play = Play video or audio...
74
74
  action.video.transcribe = Transcribe audio...
75
+ agent.builder.confirm.clear.msg = Do you really want to clear the graph?
76
+ agent.builder.confirm.clear.title = Clear
77
+ agent.builder.confirm.delete.msg = Do you really want to delete the agent?
78
+ agent.builder.title = Agent Builder
75
79
  agent.coder.additional.label = Additional prompt
76
80
  agent.coder.additional.prompt.desc = Additional prompt for agent (will be added to the base prompt)
77
81
  agent.coder.base.label = Base prompt
@@ -776,6 +780,7 @@ menu.config.save = Save config
776
780
  menu.config.settings = Settings...
777
781
  menu.debug = Debug
778
782
  menu.debug.agent = Agent...
783
+ menu.debug.agent_builder = Agent Builder
779
784
  menu.debug.app.log = View log file (app.log)
780
785
  menu.debug.assistants = Assistants...
781
786
  menu.debug.attachments = Files / attachments...
@@ -830,6 +835,7 @@ menu.theme.style = Style...
830
835
  menu.theme.syntax = Code syntax highlight...
831
836
  menu.theme.tooltips = Show tooltips
832
837
  menu.tools = Tools
838
+ menu.tools.agent.builder = Agent Builder
833
839
  menu.tools.audio.transcribe = Transcribe Audio/Video Files
834
840
  menu.tools.html_canvas = HTML/JS Canvas
835
841
  menu.tools.image.viewer = Image Viewer
@@ -1143,7 +1149,9 @@ settings.api_native_google.use_vertex.desc = Enable to use VertexAI in Google Ge
1143
1149
  settings.api_native_xai = Use native API SDK
1144
1150
  settings.api_native_xai.desc = Use native xAI SDK instead of compatible OpenAI client
1145
1151
  settings.api_proxy = Proxy address
1152
+ settings.api_proxy.enabled = Use proxy
1146
1153
  settings.api_proxy.desc = Optional, proxy for API SDKs, e.g. http://proxy.example.com or socks5://user:pass@host:port
1154
+ settings.api_proxy.enabled.desc = Enable this option to use a proxy for connections to APIs
1147
1155
  settings.api_use_responses = Use Responses API in Chat mode
1148
1156
  settings.api_use_responses.desc = Use Responses API instead of ChatCompletions API in Chat mode
1149
1157
  settings.api_use_responses_llama = Use Responses API in Chat with Files mode (LlamaIndex)
@@ -1108,7 +1108,9 @@ settings.api_key.perplexity.desc = Requerido para la API Perplexity.
1108
1108
  settings.api_key.xai = CLAVE API xAI
1109
1109
  settings.api_key.xai.desc = Requerido para la API xAI y modelos Grok.
1110
1110
  settings.api_proxy = Dirección proxy
1111
+ settings.api_proxy.enabled = Usar proxy
1111
1112
  settings.api_proxy.desc = Opcional, proxy para API SDK, por ej. http://proxy.example.com o socks5://user:pass@host:port
1113
+ settings.api_proxy.enabled.desc = Habilita esta opción para usar un proxy para las conexiones a las API
1112
1114
  settings.api_use_responses = Usar API de Respuestas en modo Chat
1113
1115
  settings.api_use_responses.desc = Usar API de Respuestas en lugar de ChatCompletions API en modo Chat
1114
1116
  settings.api_use_responses_llama = Usar Responses API en modo Chat con Archivos (LlamaIndex)
@@ -1107,7 +1107,9 @@ settings.api_key.perplexity.desc = Requis pour l'API Perplexity.
1107
1107
  settings.api_key.xai = Clé API xAI
1108
1108
  settings.api_key.xai.desc = Requis pour l'API xAI et les modèles Grok.
1109
1109
  settings.api_proxy = Adresse proxy
1110
+ settings.api_proxy.enabled = Utiliser un proxy
1110
1111
  settings.api_proxy.desc = Optionnel, proxy pour l'API SDK, par ex. http://proxy.example.com ou socks5://user:pass@host:port
1112
+ settings.api_proxy.enabled.desc = Activez cette option pour utiliser un proxy pour les connexions aux API
1111
1113
  settings.api_use_responses = Utiliser l'API Responses en mode chat
1112
1114
  settings.api_use_responses.desc = Utiliser l'API Responses au lieu de l'API ChatCompletions en mode chat
1113
1115
  settings.api_use_responses_llama = Utiliser Responses API en mode Chat avec des Fichiers (LlamaIndex)
@@ -1107,7 +1107,9 @@ settings.api_key.perplexity.desc = Necessario per l'API Perplexity.
1107
1107
  settings.api_key.xai = Chiave API xAI
1108
1108
  settings.api_key.xai.desc = Necessario per l'API xAI e i modelli Grok.
1109
1109
  settings.api_proxy = Indirizzo proxy
1110
+ settings.api_proxy.enabled = Usa proxy
1110
1111
  settings.api_proxy.desc = Opzionale, proxy per l'API SDK, es. http://proxy.example.com o socks5://user:pass@host:port
1112
+ settings.api_proxy.enabled.desc = Abilita questa opzione per utilizzare un proxy per le connessioni alle API
1111
1113
  settings.api_use_responses = Utilizzare l'API delle Risposte in modalità chat
1112
1114
  settings.api_use_responses.desc = Utilizzare l'API delle Risposte invece dell'API ChatCompletions in modalità chat
1113
1115
  settings.api_use_responses_llama = Usa il Responses API in modalità Chat con File (LlamaIndex)
@@ -678,7 +678,7 @@ html_canvas.btn.edit = Edytuj kod źródłowy
678
678
  html_canvas.clear.confirm = Wyczyścić wynik płótna HTML?
679
679
  icon.audio.input = Włącz/wyłącz wejście audio
680
680
  icon.audio.output = Włącz/wyłącz wyjście audio
681
- icon.remote_tool.web = Wyszukiwanie w sieci (narzędzie zdalne, nie lokalne)
681
+ icon.remote_tool.web = Wyszukiwanie w sieci (narzędzie zdalne, nie lokalne)
682
682
  icon.video.capture = Włącz/wyłącz przechwytywanie wideo z kamery
683
683
  idx.btn.clear = Wyczyść indeks
684
684
  idx.btn.index_all = Indeksuj wszystko
@@ -1108,7 +1108,9 @@ settings.api_key.perplexity.desc = Wymagane do Perplexity API.
1108
1108
  settings.api_key.xai = Klucz API xAI
1109
1109
  settings.api_key.xai.desc = Wymagane do xAI API i modeli Grok.
1110
1110
  settings.api_proxy = Adres proxy
1111
+ settings.api_proxy.enabled = Użyj proxy
1111
1112
  settings.api_proxy.desc = Opcjonalnie, proxy dla API SDK, np. http://proxy.example.com lub socks5://user:pass@host:port
1113
+ settings.api_proxy.enabled.desc = Włącz tę opcję, aby używać proxy do połączeń z API
1112
1114
  settings.api_use_responses = Używaj Responses API w trybie czatu
1113
1115
  settings.api_use_responses.desc = Używaj Responses API zamiast ChatCompletions API w trybie czatu
1114
1116
  settings.api_use_responses_llama = Używaj Responses API w trybie Chat z Plikami (LlamaIndex)
@@ -1106,8 +1106,10 @@ settings.api_key.perplexity = КЛЮЧ API Perplexity
1106
1106
  settings.api_key.perplexity.desc = Обов'язковий для Perplexity API.
1107
1107
  settings.api_key.xai = КЛЮЧ API xAI
1108
1108
  settings.api_key.xai.desc = Обов'язковий для xAI API та моделей Grok.
1109
- settings.api_proxy = Проксі-адреса
1109
+ settings.api_proxy = Використовувати проксі
1110
+ settings.api_proxy.enabled = Проксі-адреса
1110
1111
  settings.api_proxy.desc = Опціонально, проксі для API SDK, наприклад, http://proxy.example.com або socks5://user:pass@host:port
1112
+ settings.api_proxy.enabled.desc = Увімкніть цю опцію, щоб використовувати проксі для підключень до API
1111
1113
  settings.api_use_responses = Використовувати API відповідей у режимі чату
1112
1114
  settings.api_use_responses.desc = Використовувати API відповідей замість API ChatCompletions у режимі чату
1113
1115
  settings.api_use_responses_llama = Використовувати Responses API в режимі Чат з Файлами (LlamaIndex)
@@ -1107,7 +1107,9 @@ settings.api_key.perplexity.desc = Perplexity API 所需。
1107
1107
  settings.api_key.xai = xAI API 密钥
1108
1108
  settings.api_key.xai.desc = xAI API 和 Grok 模型所需。
1109
1109
  settings.api_proxy = 代理地址
1110
+ settings.api_proxy.enabled = 使用代理
1110
1111
  settings.api_proxy.desc = 可选,用于 API SDK 的代理,例如 http://proxy.example.com 或 socks5://user:pass@host:port
1112
+ settings.api_proxy.enabled.desc = 启用此选项以使用代理进行 API 连接
1111
1113
  settings.api_use_responses = 在聊天模式中使用 Responses API
1112
1114
  settings.api_use_responses.desc = 在聊天模式中使用 Responses API 而不是 ChatCompletions API
1113
1115
  settings.api_use_responses_llama = 在Chat with Files模式(LlamaIndex)下使用Responses API
@@ -1,35 +1,35 @@
1
1
  [LOCALE]
2
- plugin.description = Search, geocode, plan routes, and generate static maps using OpenStreetMap services (Nominatim, OSRM, staticmap). Images are saved under data/openstreetmap/.
3
- plugin.name = OpenStreetMap
4
- http_timeout.description = Requests timeout in seconds.
5
- http_timeout.label = HTTP timeout (s)
6
- user_agent.description = Custom User-Agent for outgoing requests.
7
- user_agent.label = User-Agent
8
- contact_email.description = Contact email sent to Nominatim as recommended by its usage policy.
9
- contact_email.label = Contact email (Nominatim)
10
2
  accept_language.description = Preferred language for results, e.g. 'pl,en-US;q=0.8'.
11
3
  accept_language.label = Accept-Language
12
- nominatim_base.description = Base URL for Nominatim (geocoding).
13
- nominatim_base.label = Nominatim base
14
- osrm_base.description = Base URL for OSRM routing service.
15
- osrm_base.label = OSRM base
16
- staticmap_base.description = Base URL for static map service.
17
- staticmap_base.label = Static map base
18
- tile_base.description = Base URL for XYZ tiles (z/x/y.png).
19
- tile_base.label = Tile base
4
+ contact_email.description = Contact email sent to Nominatim as recommended by its usage policy.
5
+ contact_email.label = Contact email (Nominatim)
6
+ http_timeout.description = Requests timeout in seconds.
7
+ http_timeout.label = HTTP timeout (s)
8
+ map_height.description = Default static map height in pixels.
9
+ map_height.label = Default height
20
10
  map_type.description = Default static map layer type.
21
11
  map_type.label = Default map type
22
- map_zoom.description = Default zoom level for center-based maps.
23
- map_zoom.label = Default zoom
24
12
  map_width.description = Default static map width in pixels.
25
13
  map_width.label = Default width
26
- map_height.description = Default static map height in pixels.
27
- map_height.label = Default height
28
- route.mode.description = url | summary | full (default summary)
14
+ map_zoom.description = Default zoom level for center-based maps.
15
+ map_zoom.label = Default zoom
16
+ nominatim_base.description = Base URL for Nominatim (geocoding).
17
+ nominatim_base.label = Nominatim base
18
+ osrm_base.description = Base URL for OSRM routing service.
19
+ osrm_base.label = OSRM base
20
+ param.layers.description = Optional 'layers=' for openstreetmap.org URLs
21
+ param.layers.label = Layers
22
+ plugin.description = Search, geocode, plan routes, and generate static maps using OpenStreetMap services (Nominatim, OSRM, staticmap). Images are saved under data/openstreetmap/.
23
+ plugin.name = OpenStreetMap
24
+ route.debug_url.label = Include OSRM request URL
29
25
  route.include_geometry.label = Include geometry (polyline6)
30
26
  route.include_steps.label = Include steps (full mode only)
31
27
  route.max_polyline_chars.label = Max polyline characters
32
- route.debug_url.label = Include OSRM request URL
28
+ route.mode.description = url | summary | full (default summary)
33
29
  route.save_map.label = Build preview URL (openstreetmap.org)
34
- param.layers.label = Layers
35
- param.layers.description = Optional 'layers=' for openstreetmap.org URLs
30
+ staticmap_base.description = Base URL for static map service.
31
+ staticmap_base.label = Static map base
32
+ tile_base.description = Base URL for XYZ tiles (z/x/y.png).
33
+ tile_base.label = Tile base
34
+ user_agent.description = Custom User-Agent for outgoing requests.
35
+ user_agent.label = User-Agent
@@ -1,18 +1,12 @@
1
1
  [LOCALE]
2
- plugin.description = Compute and solve with Wolfram Alpha: short answers, full JSON pods, math (solve, derivatives, integrals), unit conversions, matrix operations, and plots. Images are saved under data/wolframalpha/.
3
- plugin.name = Wolfram Alpha
4
2
  api_base.description = Base API URL (default https://api.wolframalpha.com).
5
3
  api_base.label = API base
6
4
  api_base.tooltip = Change only if using a proxy or enterprise gateway.
7
5
  http_timeout.description = Requests timeout in seconds.
8
6
  http_timeout.label = HTTP timeout (s)
9
7
  http_timeout.tooltip = Increase if you experience timeouts on large queries.
10
- wa_appid.description = Your Wolfram Alpha AppID.
11
- wa_appid.label = Wolfram Alpha AppID
12
- wa_appid.tooltip = Create one at developer.wolframalpha.com. Required.
13
- units.description = Preferred unit system for supported endpoints.
14
- units.label = Units
15
- units.tooltip = Use 'metric' or 'nonmetric'.
8
+ plugin.description = Compute and solve with Wolfram Alpha: short answers, full JSON pods, math (solve, derivatives, integrals), unit conversions, matrix operations, and plots. Images are saved under data/wolframalpha/.
9
+ plugin.name = Wolfram Alpha
16
10
  simple_background.description = Background for Simple API images.
17
11
  simple_background.label = Simple background
18
12
  simple_background.tooltip = 'white' or 'transparent'.
@@ -21,4 +15,10 @@ simple_layout.label = Simple layout
21
15
  simple_layout.tooltip = e.g., 'labelbar', 'inputonly'.
22
16
  simple_width.description = Target width for Simple API images.
23
17
  simple_width.label = Simple width
24
- simple_width.tooltip = In pixels. Leave empty to use service default.
18
+ simple_width.tooltip = In pixels. Leave empty to use service default.
19
+ units.description = Preferred unit system for supported endpoints.
20
+ units.label = Units
21
+ units.tooltip = Use 'metric' or 'nonmetric'.
22
+ wa_appid.description = Your Wolfram Alpha AppID.
23
+ wa_appid.label = Wolfram Alpha AppID
24
+ wa_appid.tooltip = Create one at developer.wolframalpha.com. Required.
pygpt_net/fonts.qrc CHANGED
File without changes
pygpt_net/fonts_rc.py CHANGED
File without changes
pygpt_net/icons.qrc CHANGED
File without changes
pygpt_net/icons_rc.py CHANGED
File without changes
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ # ================================================== #
4
+ # This file is a part of PYGPT package #
5
+ # Website: https://pygpt.net #
6
+ # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
+ # MIT License #
8
+ # Created By : Marcin Szczygliński #
9
+ # Updated Date: 2025.09.19 00:00:00 #
10
+ # ================================================== #
11
+
12
+ import json
13
+ from dataclasses import dataclass, field
14
+ from typing import Optional
15
+
16
+
17
+
18
+ @dataclass(slots=True)
19
+ class AgentItem:
20
+ id: Optional[object] = None
21
+ name: Optional[object] = None
22
+ layout: dict = field(default_factory=dict)
23
+
24
+ def __init__(self):
25
+ """Custom agent item"""
26
+ self.id = None
27
+ self.name = None
28
+ self.layout = {}
29
+
30
+ def reset(self):
31
+ """Reset"""
32
+ self.id = None
33
+ self.name = None
34
+ self.layout = {}
35
+
36
+ def to_dict(self) -> dict:
37
+ """
38
+ Return as dictionary
39
+
40
+ :return: dictionary
41
+ """
42
+ return {
43
+ "id": self.id,
44
+ "name": self.name,
45
+ "layout": self.layout
46
+ }
47
+
48
+ def dump(self) -> str:
49
+ """
50
+ Dump item to string
51
+
52
+ :return: serialized item
53
+ """
54
+ try:
55
+ return json.dumps(self.to_dict())
56
+ except Exception as e:
57
+ pass
58
+ return ""
59
+
60
+ def __str__(self):
61
+ """To string"""
62
+ return self.dump()
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ # ================================================== #
4
+ # This file is a part of PYGPT package #
5
+ # Website: https://pygpt.net #
6
+ # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
+ # MIT License #
8
+ # Created By : Marcin Szczygliński #
9
+ # Updated Date: 2025.09.19 00:00:00 #
10
+ # ================================================== #
11
+
12
+ import json
13
+ from dataclasses import dataclass, field
14
+ from typing import Optional
15
+
16
+
17
+
18
+ @dataclass(slots=True)
19
+ class BuilderLayoutItem:
20
+ id: Optional[object] = None
21
+ name: Optional[object] = None
22
+ data: Optional[object] = None
23
+
24
+ def __init__(self):
25
+ """Custom agent item"""
26
+ self.id = None
27
+ self.name = None
28
+ self.data = None
29
+
30
+ def reset(self):
31
+ """Reset"""
32
+ self.id = None
33
+ self.name = None
34
+ self.data = None
35
+
36
+ def to_dict(self) -> dict:
37
+ """
38
+ Return as dictionary
39
+
40
+ :return: dictionary
41
+ """
42
+ return {
43
+ "id": self.id,
44
+ "name": self.name,
45
+ "data": self.data,
46
+ }
47
+
48
+ def dump(self) -> str:
49
+ """
50
+ Dump item to string
51
+
52
+ :return: serialized item
53
+ """
54
+ try:
55
+ return json.dumps(self.to_dict())
56
+ except Exception as e:
57
+ pass
58
+ return ""
59
+
60
+ def __str__(self):
61
+ """To string"""
62
+ return self.dump()
pygpt_net/js.qrc CHANGED
@@ -1,10 +1,33 @@
1
1
  <RCC>
2
2
  <qresource prefix="/js">
3
- <file alias="app.js">data/js/app.js</file>
3
+ <file alias="app-async.js">data/js/app/async.js</file>
4
+ <file alias="app-bridge.js">data/js/app/bridge.js</file>
5
+ <file alias="app-common.js">data/js/app/common.js</file>
6
+ <file alias="app-config.js">data/js/app/config.js</file>
7
+ <file alias="app-custom.js">data/js/app/custom.js</file>
8
+ <file alias="app-data.js">data/js/app/data.js</file>
9
+ <file alias="app-dom.js">data/js/app/dom.js</file>
10
+ <file alias="app-events.js">data/js/app/events.js</file>
11
+ <file alias="app-highlight.js">data/js/app/highlight.js</file>
12
+ <file alias="app-logger.js">data/js/app/logger.js</file>
13
+ <file alias="app-markdown.js">data/js/app/markdown.js</file>
14
+ <file alias="app-math.js">data/js/app/math.js</file>
15
+ <file alias="app-nodes.js">data/js/app/nodes.js</file>
16
+ <file alias="app-raf.js">data/js/app/raf.js</file>
17
+ <file alias="app-runtime.js">data/js/app/runtime.js</file>
18
+ <file alias="app-scroll.js">data/js/app/scroll.js</file>
19
+ <file alias="app-stream.js">data/js/app/stream.js</file>
20
+ <file alias="app-queue.js">data/js/app/queue.js</file>
21
+ <file alias="app-template.js">data/js/app/template.js</file>
22
+ <file alias="app-tool.js">data/js/app/tool.js</file>
23
+ <file alias="app-ui.js">data/js/app/ui.js</file>
24
+ <file alias="app-user.js">data/js/app/user.js</file>
25
+ <file alias="app-utils.js">data/js/app/utils.js</file>
4
26
  <file alias="auto-render.min.js">data/js/katex/auto-render.min.js</file>
5
27
  <file alias="highlight.min.js">data/js/highlight/highlight.min.js</file>
6
28
  <file alias="katex.min.js">data/js/katex/katex.min.js</file>
7
29
  <file alias="markdown-it-katex.min.js">data/js/markdown-it/markdown-it-katex.min.js</file>
8
30
  <file alias="markdown-it.min.js">data/js/markdown-it/markdown-it.min.js</file>
31
+ <file alias="app.min.js">data/js/app.min.js</file>
9
32
  </qresource>
10
33
  </RCC>